关于one-hot编码的两个问题:先drop?以及具有数千个类别的功能

数据挖掘 分类数据 一热编码 分类编码
2022-02-16 12:20:35

我有两个关于 one-hot 特征编码的问题:

(1) 在 one-hot 编码时删除第一个(或至少一个)one-hot 编码特征是否被认为是“最佳实践”,就像在经典统计中为线性回归建模创建虚拟变量时一样?似乎 ML 从业者是双向的。是否存在任何明确的指导?

(2) 最好的方法是处理具有数千个特征(约 6000 个)的分类变量的 one-hot 编码?这个数字特别高,因为在 one-hot 编码之前数据集只有大约 10 个特征宽。请注意,类别在特征之间分布非常均匀。

1个回答

如果使用所有特征,则一热(分别是一冷)编码会产生共线性。仅仅因为以下关系始终成立:ifi=1

因此,删除一个特征会破坏共线性并且它可以获得更好的结果,因为许多模型(尤其是线性模型)会与特征中的共线性混淆。

如果一个分类变量有很多值,那么 one-hot (resp. one-cold) 不是最好的选择,并且由于维度的诅咒,结果将遭受很大的损失。

相反,可以使用其他编码LabelEncoder,尽管流行的智慧实际上可以提供最先进的结果。

参考:

  1. One-hot 编码 + 线性回归 = 多重共线性
  2. 如何处理诸如性别、语言、区域等非序数特征?序数编码还是单热编码?