我知道在训练机器学习算法之前我们必须对分类数据进行单热编码。但我的问题是我们需要手动删除一列还是sklearn会这样做?
答案 0 :(得分:1)
我假设您还要为非二进制分类功能删除一列,以避免多重共线性,这可能会导致线性模型出现问题。它就像向drop_first=True
提供pd.get_dummies()
参数一样简单。似乎sklearn.preprocessing.OneHotEncoder
没有简单的界面来执行此操作,无论如何它的用法很复杂,因为必须事先将分类要素编码到int
中。
答案 1 :(得分:0)
您需要在回归中手动处理虚拟变量陷阱。 我们需要手动删除一列。
答案 2 :(得分:-2)
删除nunique
计数大于2的列是没有意义的。因为每列都代表一个虚拟变量的实例。我假设你是一个热门编码二进制特色列。相反,请使用sklearn的标签编码器。