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

Machine learning 我是否需要在回归中手动处理虚拟变量陷阱,或者sklearn会这样做?,machine-learning,dummy-variable,one-hot-encoding,Machine Learning,Dummy Variable,One Hot Encoding,我知道在训练机器学习算法之前,我们必须对分类数据进行热编码。但我的问题是,我们需要手动删除一列,还是sklearn可以删除?删除计数大于2的列没有任何意义。因为每列将代表一个虚拟变量的实例。我假设您是一个热编码二进制特征列的人。相反,请使用sklearn的标签编码器。我假设您也希望为非二进制分类功能删除一列,以避免多重共线,这可能会导致线性模型出现问题。这很简单,只需向pd.get\u dummies()提供drop\u first=True参数即可。似乎,sklearn.preprocessi

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

删除计数大于2的列没有任何意义。因为每列将代表一个虚拟变量的实例。我假设您是一个热编码二进制特征列的人。相反,请使用sklearn的标签编码器。

我假设您也希望为非二进制分类功能删除一列,以避免多重共线,这可能会导致线性模型出现问题。这很简单,只需向
pd.get\u dummies()
提供
drop\u first=True
参数即可。似乎,
sklearn.preprocessing.onehotcoder
没有一个简单的界面来实现这一点,而且它的使用非常复杂,因为分类特征必须事先编码到
int

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