【发布时间】:2017-09-19 04:06:35
【问题描述】:
主要目标如下:
-
将
StandardScaler应用于连续变量 -
将
LabelEncoder和OnehotEncoder应用于分类变量
连续变量需要缩放,但同时,几个分类变量也是整数类型。应用StandardScaler 会导致不良影响。
另一方面,StandardScaler 会缩放基于整数的分类变量,这也不是我们想要的。
由于连续变量和分类变量混合在一个 Pandas DataFrame 中,解决此类问题的推荐工作流程是什么?
说明我观点的最佳示例是Kaggle Bike Sharing Demand 数据集,其中season 和weather 是整数分类变量
【问题讨论】:
-
StandardScalar按列工作,我认为它不会对单热编码变量做任何事情。您是否尝试过为单个 Dataframe 执行上述操作?您是否发现了您似乎遇到问题的行为? -
单热编码变量与整数类型的变量相同。如果您将它们连接在一起,您为什么期望它们以不同的方式做事?如果它们的行为方式相同,那么如果有一个变量不是分类变量而是数值变量,并且其值为 1 或 0,然后在其上使用缩放器,您认为会发生什么?
-
我试过了,显然它确实缩放了所有东西,不管他们假设什么值。您能否在该 Bike 数据集上申请
StandardScaler().fit_transform(df)并告诉我其他情况? -
哦,对不起,我对 MinMaxScaler 和 StandardScaler 感到困惑。 MinMaxScaler 不会改变 1、0,但 StandardScaler 会(零均值和单位方差)。再次抱歉。
-
你可以以scikit-learn.org/stable/auto_examples/…为例来联合不同的特征。
标签: python pandas machine-learning scikit-learn categorical-data