numpy.unique() vs Pandas.get_dummies()
numpy.unique()将数据转换为所有K类别的数组,并将每个值的索引作为新列返回,而get_dummies()只创建k列,每列都有(0,1)值。
将分类数据转换为数字的哪种方法最适合机器学习以及为什么?
答案 0 :(得分:0)
对于预处理分类属性,它主要取决于分类属性是否具有有序关系的事实。
例如,像温度这样的属性由四个级别组成:非常高,高,中,低。这些被称为序数变量,在这种情况下,转换为数字索引是合理的。所以非常高变成" 1",高变成" 2"等等。
但是如果变量是名义变量,它没有排序信息,那么数值索引很可能会因为提供给模型的错误信息而导致结果不佳。 例如,对于像性别这样的属性,将它们转换为数字索引是没有意义的," 1"对于男性和" 2"因为这给女性提供了有偏见的信息,使得女性等级高于男性,而在大多数情况下,她们是平等的,并且在他们之间没有秩序。因此,为每个变量创建具有二进制值的k列更有意义。