使用 F1-score、Recall 和 Precision 选择两个最佳分类器

数据挖掘 机器学习 Python 分类
2021-09-29 01:53:39

我有三个分类器用这些结果对相同的数据集进行分类:

classifier A:
              precision    recall   f1-score 
  micro avg       0.36      0.36      0.36      
  macro avg       0.38      0.43      0.36       
  weighted avg    0.36      0.36      0.32    

classifier B:
              precision    recall   f1-score 
   micro avg       0.55      0.55      0.55      
   macro avg       0.60      0.60      0.56       
   weighted avg    0.61      0.55      0.53       

classifier C:
               precision    recall   f1-score 
   micro avg       0.34      0.34      0.34       
   macro avg       0.36      0.38      0.32      
   weighted avg    0.39      0.34      0.32       

我想要两个选择其中最好的两个,我知道 F1-score 是比较分类器的参数,因为它在精度和召回率之间保持协调。因此,首先我选择分类器 B 以获得最佳 F1 分数。接下来,A和C都有相同的F1-measure,我想问我如何在它们之间进行选择?

2个回答

f1-score 将精度和召回率结合在一个数字中。由于两者在 A 和 C 情况下非常相似,因此 f1-score 也相似。

您的选择取决于它在您的分类中的危害较小:误报或误报。

我建议您阅读Andrew Glassner 的“深度学习:从基础到实践”第 1 卷的第 3 章。在那里,您以非常说明性的方式描述了三个概念(精度、召回率和 f1-score)。

这取决于您的应用程序。假设您设计了一个分类器模型来预测一个人是否患有癌症。如果您想自信地说一个人患有癌症,您可能更喜欢具有高精度的分类器。另一方面,如果你想确保所有癌症患者都被抓住,你可能更喜欢具有高召回率的分类器。