让我们谈谈标签 A、B 和 C 的多标签分类问题。我可以计算每个标签的精度/召回率,如下所示:
- 精度:正确的 NodeX 分配 / 总 NodeX 分配
- 回忆:正确的 NodeX 分配 / 总 NodeX 真实出现次数
- F1 Measure: 2 * (Precision * Recall) / (Precision + Recall)
因为我有 3 个标签,所以我想通过平均每个单个节点的值来获得全局性能度量,就像这里建议的那样。
但是,我注意到这打破了 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 等),但我也想解决这个问题。