我使用文本分类对3种方言进行了分类器训练。以下是混淆矩阵和精确度:
混淆矩阵
[[27 6 0 16] [ 5 18 0 21] [ 1 3 6 9] [ 0 0 0 48]]
精确度
[0.81818182 0.66666667 1. 0.5106383 ]
如何知道混淆矩阵中的哪一行和精确度中的哪个元素对应我所使用的哪种方言?我为分类器提供了训练数据,并使用了以下标签:
EgyptianSudanIraqiJordan
这是我使用的代码,我使用了RandomForestClassifier:
from sklearn.ensemble import RandomForestClassifierclassifier = RandomForestClassifier(n_estimators=1000, random_state=0) classifier.fit(X, labels) test_pred = classifier.predict(y)precision_score(labels_test,test_pred,average=None)
输出:
array([0.91024735, 0.94929397, 0.98622273, 0,95343322])
回答:
classifier.classes_
会给你分类器评分时使用的标签,按照它们在分类器对象中存储的顺序。这应该与你已经得到的输出顺序相同,不过我建议通过对你的预测进行一些抽查来验证这一点,以确保准确无误