单热编码的多重共线性

时间:2017-02-14 11:00:05

标签: pandas scikit-learn data-science

我们是否总是需要删除用于单热编码的列以防止多重共线性? 在这里的解决方案(https://www.kaggle.com/omarelgabry/titanic/a-journey-through-titanic/comments#138896)中提到了

  

@Kevin Chang你需要删除一列虚拟变量   避免多重共线性的状态。这是一个非常高的状态   列之间的相关性(自变量);意思是   一个可以从其他人预测。因此,它是一种类型   干扰数据,如果数据中存在统计数据   关于数据的结论可能不太可靠。

在这里的解决方案中,不存在多重共线性 https://www.kaggle.com/sharmasanthosh/allstate-claims-severity/exploratory-study-on-ml-algorithms

我可以知道这是必须的,还是我们应该在什么情况下迎合这一点?

1 个答案:

答案 0 :(得分:1)

如果我必须回答你的问题"Do we always need to remove a column for one-hot encoding to prevent multicollinearity?",答案是肯定的。

防止多重共线性的常用方法是从模型中删除高度相关的预测变量。如果您有两个或更多具有高VIF的因子,请从模型中删除一个。因为它们提供冗余信息,所以去除其中一个相关因子通常不会降低R平方。

或者您可以使用偏最小二乘回归(PLS)或主成分分析,回归方法将预测变量的数量减少到较小的不相关分量集。