对于全球多标签性能评估,平均精度/召回是否正确?

时间:2013-12-13 00:26:09

标签: java machine-learning classification precision multilabel-classification

让我们谈谈标签A,B和C的多标签分类问题。我可以计算每个标签的精度/召回率,如下所示:

  • 精确度:更正NodeX分配/总NodeX分配
  • 召回:纠正NodeX分配/总NodeX真实发生次数
  • F1测量:2 *(精确*召回)/(精确+召回)

由于我有3个标签,我希望通过平均每个单个节点的值来获得全局性能指标,如建议的here

然而,我注意到这打破了F1测量不变量!一个澄清的例子:

Label, Precision, Recall, F1
A,     0.5,       1.0,    0.666 
B,     1.0,       1.0,    1.0
C,     0.5,       0.5,    0.5
AVG,   0.666,     0.833,  0.611

NOTE: (2 * (0.666 * 0.833) / (0.666 + 0.833)) != 0.611

尝试为多标签分类性能测量提出基于全局节点的指标是否正确?有没有更好的方法呢?

注意:我知道其他性能指标(准确性,ROC / AUC等),但我也想对此进行排序。

1 个答案:

答案 0 :(得分:2)

F1平均值假设精确度和召回率相等。但这在现实中是不真实的。使用平均精度和召回来计算F1得分更有意义,因为这将更好地反映您对精度或召回的青睐。有关详细信息,请查看此article