0

我正在开发一个分类基础模型。我已经将 ColumnTransformer 和 Pipeline 的概念用于特征工程和选择、模型选择以及一切。我想将我的分类目标(因)变量编码为管道内的数字。开始知道我们不能在 CT 和 Pipeline 中使用 LabelEncoder,因为拟合只需要 (y) 并引发错误,“TypeError: fit_transform() 需要 2 个位置参数,但给出了 3 个。” 目标变量还有哪些其他选择?找到了很多类似的堆栈,但功能和建议是使用 OHE 和 OrdinalEncoder!

4

1 回答 1

0

基本上,不要。

所有(或至少大多数)sklearn 分类器都将在内部进行编码,并在直接针对“真实”目标值进行训练时为您生成更多有用的信息。(例如predict,无需解码映射即可给出实际目标值。)

(至于回归,如果目标实际上是有序的,你也许可以使用TransformedTargetRegressor。这是否有意义可能取决于模型类型。)

于 2021-12-22T19:30:44.153 回答