机器学习:如何在具有分类和数字特征的 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 数据帧上应用一种热编码?的主要内容,如果未能解决你的问题,请参考以下文章

如何在分类中包含单词作为数字特征

如何输出特征向量机器学习分类算法

如何在机器学习的训练集中结合文本和数字特征?

模式识别与机器学习——4.1模式分类可分性的测度

MachineLearning入门-3

模式识别与机器学习——4.2特征选择