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