这四个功能似乎都和我很相似。在某些情况下,其中一些可能会给出相同的结果,有些则不会。感谢您的帮助!
现在我知道了,我假设在内部,factorize
和LabelEncoder
的工作方式相同,在结果上没有很大的差异。我不确定他们是否会用大量的数据占用类似的时间。
get_dummies
和OneHotEncoder
将产生相同的结果,但OneHotEncoder
只能处理数字,但get_dummies
将接受各种输入。get_dummies
将为每个列输入自动生成新列名,但OneHotEncoder
不会(而是将分配新列名1、2、3….)。所以get_dummies
在各方面都比较好。
如果我错了,请纠正我!谢谢您!
这四个编码器可以分为两类:
factorize
和scikit learnLabelEncoder
。结果将有1维。get_dummies
和scikit learnOneHotEncoder
。结果将有n个维度,每个维度由编码的分类变量的不同值组成。pandas和scikit-learn编码器的主要区别在于scikit-learn编码器被用于带有
fit
和transform
方法的scikit-learn管道中。将标签编码为分类变量
熊猫
factorize
和scikit learnLabelEncoder
属于第一类。它们可用于创建分类变量,例如将字符转换为数字。将分类变量编码为伪/指示符(二进制)变量
熊猫
get_dummies
和scikit learnOneHotEncoder
属于第二类。它们可以用来创建二进制变量。OneHotEncoder
只能与分类整数一起使用,而get_dummies
可以与其他类型的变量一起使用。我还根据这个答案写了一个更详细的post。
相关问题 更多 >
编程相关推荐