我是否需要在回归中手动处理虚拟变量陷阱,或者 sklearn 会这样做?

Do I need to handle Dummy variable trap manually in Regression or sklearn will do it?

我知道在训练机器学习算法之前我们必须对分类数据进行一次性编码。但我的问题是我们需要手动删除一列还是 sklearn 会这样做?

删除 nunique 计数大于 2 的列是没有意义的。因为每一列都代表一个虚拟变量的实例。我假设您正在对二进制特色列进行单热编码。相反,请使用 sklearn 的标签编码器。

我假设您还想为非二进制分类特征删除一列以避免多重共线性,这可能会导致线性模型出现问题。就像向 pd.get_dummies() 提供 drop_first=True 参数一样简单。 sklearn.preprocessing.OneHotEncoder 似乎没有一个简单的界面来执行此操作,而且它的用法很复杂,因为分类特征必须事先编码到 int 中。

您需要在回归中手动处理虚拟变量陷阱。 我们需要手动删除一列。