我知道在训练机器学习算法之前,分类数据应该是单热编码的。我还需要对多元线性回归我需要排除其中一个编码变量以避免所谓的虚拟变量陷阱。
例如:如果我有分类功能“大小”:“小”,“中”,“大”,那么在一个热编码我会有类似的东西:
small medium large other-feature
0 1 0 2999
因此,为避免虚拟变量陷阱,我需要删除3列中的任何一列,例如,列“小”。
我是否应该为训练神经网络做同样的事情?或者这纯粹是为了进行多元回归?
感谢。
答案 0 :(得分:6)
As stated here,需要避免虚拟变量陷阱(在编码之后但在训练之前移除每个分类特征的一个类别)关于将所有预测因子一起考虑的算法的输入,作为线性组合。这样的算法是:
如果从使用重量衰减的神经网络的输入中删除一个类别,则会偏向于偏向于省略的类别。
即使在编码特征后省略一个类别时没有信息丢失,其他算法也必须通过所有其他类别的组合间接推断省略类别的相关性,使它们对相同的结果进行更多计算。