我有以下代码来计算模型的精度/召回率和F1分数,从而检测文档中的关键字:
from sklearn.metrics import classification_report
y_true = ['apple', 'orange', 'kiwi', 'pineapple', 'watermelon']
y_predicted = ['apple', 'orange', 'pear', 'mango', 'watermelon']
print(classification_report(y_true, y_predicted))
在这种情况下,单词彼此对齐,我可以为此计算出F1分数。
但是,如果我的模型不知道将单词放入哪个顺序怎么办?例如,如果我这样放置它们:
from sklearn.metrics import classification_report
y_true = ['apple', 'orange', 'kiwi', 'pineapple', 'watermelon']
y_predicted = ['orange', 'apple', 'pear', 'watermelon', 'mango']
print(classification_report(y_true, y_predicted))
即使模型正确地确定了5分中的3分,我也会为所有关键字获得zero
得分。
您是否知道我可以对sklearn
中的该指标进行调整,以使其不关心匹配项的顺序(以及与此相关的编号)?
或者还有其他我可以使用的指标?