我在Kaggle 的泰坦尼克竞赛中找到了一个脚本,创建者将多值单特征(即 Pclass = {1,2,3})转换为 3 个二进制特征。
这种转换的优缺点是什么?它真的改善了某些东西,还是变得更糟了?还是什么都改变不了?
尽管计算时间更长,但我也担心它会在模型中引入偏差。
我在Kaggle 的泰坦尼克竞赛中找到了一个脚本,创建者将多值单特征(即 Pclass = {1,2,3})转换为 3 个二进制特征。
这种转换的优缺点是什么?它真的改善了某些东西,还是变得更糟了?还是什么都改变不了?
尽管计算时间更长,但我也担心它会在模型中引入偏差。
正如@K3 建议的那样,正如@Sean Owen 告诉我的名字(一个热编码),我至少可以提供一些元素来回答自己。
正如在 sklearn文档中找到的那样:
[...]整数表示不能直接与 scikit-learn 估计器一起使用,因为它们期望连续输入,并将类别解释为有序,这通常是不希望的。
它在 sklearn 中作为OneHotEncoder实现,在 Pandas 中作为get_dummies 实现。