机器学习:如何在具有分类和数字特征的pandas数据帧上应用一个热编码?

时间:2016-08-31 20:06:49

标签: python-2.7 machine-learning scikit-learn sklearn-pandas one-hot-encoding

某些功能是数字,例如"来自学校的毕业率" ,而其他功能则分类为学校名称。我在分类上使用标签编码器将它们转换为整数。

我现在有一个包含浮点数和整数的数据帧,分别代表数字特征和分类特征(用标签编码器转换)。

我不确定如何继续学习,我是否需要使用一个热门编码?如果是这样,我该怎么办?根据我目前的理解,我不能简单地将数据帧传递给sklearn OneHotEncoder,因为有浮点数。我是否只是将标签编码器应用于所有功能以解决问题?

Sample data from my dataframe. OPEID and opeid6 were transformed using a label encoder

非常感谢!

1 个答案:

答案 0 :(得分:0)

只需使用OneHotEncoder categorical_features参数来选择功能是分类的:

  

categorical_features:“all”或索引或掩码数组:

     

指定将哪些功能视为分类。

     
      
  • 'all'(默认值):所有功能都被视为分类。
  •   
  • 索引数组:分类要素索引数组。
  •   
  • mask:长度为n_features且dtype = bool的数组。

         

    非分类要素始终堆叠在矩阵的右侧。

  •