我有一个多类分类问题,需要使用python的sklearn包解决。原始的类标签是像
这样的字符串['sports', 'games', 'foods', 'music', ...]
所以我尝试了两种不同的方式来编码分类字符串标签:
1.使用preprocessing.LabelEncoder()
转换为“ int”:[1, 2, 3, 4]
2.通过使用preprocessing.LabelBinarizer()
转换为“二值化数组”:
pd.array[[1,0,0,0],
[0,1,0,0],
[0,0,1,0],
[0,0,0,1]]
我认为二进制标签应该更好,因为分类标签不包含订单信息。但是,这两种标签的预测结果是不同的。此外,int标签的precision_score远高于二值化标签。
谁能告诉我这种情况的原因?非常感谢。目前,我尝试了RandomForest分类器,是因为使用了这种分类器算法?