为正则化线性模型删除一个类别

数据挖掘 scikit-学习 回归 线性回归 正则化 一热编码
2022-03-13 04:33:01

在查看 sklearn 的 OneHotEncoder 文档(附在下面)时,我注意到在应用正则化(例如,套索、岭等)时,不建议放弃第一个类别。虽然我理解为什么删除第一个类别会防止共线性,但我不确定为什么正则化回归需要它。这不会增加一个需要规范化的额外维度吗?

删除{'first', 'if_binary'}

指定用于删除每个功能的一个类别的方法。这在完全共线特征导致问题的情况下很有用,例如将结果数据输入神经网络或非正则化回归时。 但是,删除一个类别会破坏原始表示的对称性,因此可能会导致下游模型出现偏差,例如惩罚线性分类或回归模型。

1个回答

当您进行线性回归时,您必须省略一列,因为它是奇异矩阵,因此列是线性相关的,我们无法计算逆。

但是当你进行正则化时,它会处理奇点。The matrix is almost surely nonsingular. 因此我们不需要删除一列,如果你从每个特征中删除不同的列,它可能会导致不同的预测,因为它会导致偏差。

参考这个