如何处理线性回归中虚拟变量的共线性?

2024-10-02 14:19:11 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在使用scikit-learnLogisticRegression对一个家庭特征数据集进行分析,并试图理解如何准备自变量。在

我创建了二进制虚拟变量来代替分类变量。 e、 g.变量DWELLING_TYPE有3个可能的值DetachedHouseSemiDetached和{}被3个二元变量DWELLING_TYPE_DetachedHouseDWELLING_TYPE_SemiDetached和住宅类型}{}1or0`。在

显然这三个变量是相互依赖的(共线性?)因为如果其中一个变量是1,那么另外2个变量必须是0。我的理解是,对于Logistic回归来说,协线性应该最小化,那么我应该从输入矩阵中省略其中一个变量吗?在


Tags: 数据类型type家庭二进制分类特征scikit
1条回答
网友
1楼 · 发布于 2024-10-02 14:19:11

是的。这是一个很好的做法。当你把你的分类变量转换成虚拟变量时,你可以去掉其中一个。它将减少您的输入特性的冗余。在

在python中,您可以使用pd.get_dummies来完成

pd.get_dummies(df, columns=categorical_columns, drop_first=True)

先删除参数设置为True将对您有效。在

相关问题 更多 >