【发布时间】:2021-07-26 14:47:33
【问题描述】:
我有包含数值和分类变量的数据。我已将数据拆分为训练和测试。我想在插补后进行一次热编码。测试集上有看不见的数据。
我了解handle_unknown='ignore' 解决了这个问题。但是,我还想删除一列 (drop='first') 以避免多重共线性。 OnehotEncoding 不能同时接受这两个。
有没有办法处理看不见的数据并避免多重共线性?
注意:我正在使用 ColumnTransformer。
【问题讨论】:
-
尝试设置两者时引发的错误提出了一个很好的观点:“
handle_unknown必须在指定 drop 参数时为 'error',因为两者都会创建全为零的类别。 "也就是说,如果您可以同时使用这两个选项,最终的行为将是测试集中看不见的级别将被视为与丢弃的级别完全相同。但是,如果您对这种效果感到满意,并且在某处没有自定义转换器,我看不到一种简单的方法。
标签: python machine-learning data-science one-hot-encoding