我们是否总是需要删除一列以进行一次热编码以防止多重共线性?
在这里的解决方案(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

我可以知道这是必须的吗,或者在什么情况下我们需要满足这一要求?

最佳答案

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

防止多重共线性的常见方法是从模型中删除高度相关的预测变量。如果您有两个或多个VIF高的因子,请从模型中删除一个。由于它们提供了冗余信息,因此删除相关因素之一通常不会减小R平方。

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

关于pandas - 一共编码的多重共线性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42224430/

10-12 18:37