【发布时间】:2018-06-05 22:24:48
【问题描述】:
我正在尝试预处理和准备数据集以训练模型。该数据集具有一些数字和分类特征。假设这是数据集(呈现为 Pandas DataFrame):
Age,Gender,Height
23,M,170
33,M,195
31,F,165
我们希望将其转换为以下格式,仅使用 scikit-learn 0.19.0 中的 Transform 函数和单个 Pipeline 对象:
Age,Gender_M,Gender_F,Height
0.0,1,0,170
1.0,1,0,195
0.8,0,1,165
变换如下:
年龄:MinMaxScaler
性别:OneHotEncoder
身高:不变
这甚至可能吗(为了让它稍微容易一些的替代方法是暂时放弃高度功能)?
在我自己尝试提出解决方案的过程中,我注意到无法将 Transform 函数应用于所有功能的子集,这让我相信这无法使用单个 Pipeline 完成。但我会很高兴被证明是错误的。
谢谢
【问题讨论】:
-
感谢您的评论。问题有点棘手。不仅仅是知道某些变换函数的存在。它是关于如何使用它们并将它们部分应用到数据集以及在 Pipeline 对象内(我现在怀疑这是否可行)。
-
除了@AbhishekMishra 给出的答案,您还可以查看this scikit example,它解释了这个用例。
标签: python pandas scikit-learn