预处理机器学习中的分类属性

时间:2018-02-24 18:15:27

标签: python pandas numpy machine-learning scikit-learn

numpy.unique()  vs Pandas.get_dummies()

numpy.unique()将数据转换为所有K类别的数组,并将每个值的索引作为新列返回,而get_dummies()只创建k列,每列都有(0,1)值。

将分类数据转换为数字的哪种方法最适合机器学习以及为什么?

1 个答案:

答案 0 :(得分:0)

对于预处理分类属性,它主要取决于分类属性是否具有有序关系的事实。

例如,像温度这样的属性由四个级别组成:非常高,高,中,低。这些被称为序数变量,在这种情况下,转换为数字索引是合理的。所以非常高变成" 1",高变成" 2"等等。

但是如果变量是名义变量,它没有排序信息,那么数值索引很可能会因为提供给模型的错误信息而导致结果不佳。 例如,对于像性别这样的属性,将它们转换为数字索引是没有意义的," 1"对于男性和" 2"因为这给女性提供了有偏见的信息,使得女性等级高于男性,而在大多数情况下,她们是平等的,并且在他们之间没有秩序。因此,为每个变量创建具有二进制值的k列更有意义。