今天在用ColumnTransformer方法对数值变量和非数值变量进行合成转换的时候,掌柜选择对其中的类别特征用LabelEncoder()方法,结果出现报错如上👆。但是换成OneHotEncoder(独热编码)就成功运行。
于是疑惑 为什么会出现这样的情况? 一搜发现Stackoverflow上面也有同样疑问的朋友,结合两位答主回答:
发现两个主要的原因为什么不适合用LabelEncoder():
-
因为LabelEncoder()的transformer是用来编码目标变量(y)(可参见官方文档)(感觉蛮多人误用了这个方法。。。也包括掌柜我