机器学习:如何在具有分类和数字特征的 pandas 数据帧上应用一种热编码?
Posted
技术标签:
【中文标题】机器学习:如何在具有分类和数字特征的 pandas 数据帧上应用一种热编码?【英文标题】:Machine Learning: How do I apply one hot encoding on a pandas dataframe with both categorical and numerical features? 【发布时间】:2017-01-08 13:10:14 【问题描述】:一些特征是数字特征,例如“学校毕业率”,而其他特征是分类特征,例如学校名称。我对分类特征使用标签编码器将它们转换为整数。
我现在有一个包含浮点数和整数的数据框,分别代表数字特征和分类特征(用标签编码器转换)。
我不确定如何继续学习者,我需要使用一种热编码吗?如果是这样,我该怎么做?根据我目前的理解,我不能简单地将数据帧传递给 sklearn OneHotEncoder,因为有浮点数。我是否只是将标签编码器应用于所有功能来解决问题?
Sample data from my dataframe. OPEID and opeid6 were transformed using a label encoder
非常感谢!
【问题讨论】:
sklearn pipeline - how to apply different transformations on different coluns的可能重复 How can I one hot encode in Python?的可能重复 【参考方案1】:只需使用OneHotEncoder
categorical_features
参数来选择特征是分类的:
categorical_features:“全部”或索引数组或掩码:
指定哪些特征被视为分类。
‘all’(默认):所有特征都被视为分类。 索引数组:分类特征索引数组。掩码:长度为 n_features 且 dtype=bool 的数组。
非分类特征总是堆叠在矩阵的右侧。
【讨论】:
以上是关于机器学习:如何在具有分类和数字特征的 pandas 数据帧上应用一种热编码?的主要内容,如果未能解决你的问题,请参考以下文章