1. 混淆矩阵

实际 \ 预测 P N
P TP FN
N FP TN

对于数据预测结果有下面4种情况:TP, FP, FN, TN

其中T和F表示预测的对错,P和N表示预测的样本的正反例。

2. 准确率(precision)和召回率(recall)

准确率和召回率的公式如下,

F1-score中的Micro和Macro的区别 - 图1

由公式可以看出,

Precision表示的是你预测(predict)为正例的样本中你答对的比例,

Recall 则表示实际(ground truth)中正例的样本中你答对的比例。

3. F1 score

F1 score是一个权衡Precision和Recall 的指标,他表示为这两个值的调和平均。

F1-score中的Micro和Macro的区别 - 图2

4. Macro

当任务为多分类任务时,precision和recall的计算方式就需要权衡每一类的
F1-score中的Micro和Macro的区别 - 图3F1-score中的Micro和Macro的区别 - 图4

对于每一类的precision和recall有:

F1-score中的Micro和Macro的区别 - 图5

macro的precision公式,即每一类的precision的平均,为:

F1-score中的Micro和Macro的区别 - 图6

macro的recall公式,即每一类的recall的平均,为:

F1-score中的Micro和Macro的区别 - 图7

最后macro-F1的计算公式为:

F1-score中的Micro和Macro的区别 - 图8

5. Micro

micro的precision公式为,

F1-score中的Micro和Macro的区别 - 图9

micro的recall公式为,

F1-score中的Micro和Macro的区别 - 图10

最后micro-F1的计算公式为

F1-score中的Micro和Macro的区别 - 图11

6. 分别适用场景

参考链接:https://www.zhihu.com/question/332571344/answer/1161271111

micro-F1:

  • 计算方法:先计算所有类别的总的Precision和Recall,然后计算出来的F1值即为micro-F1;
  • 使用场景:在计算公式中考虑到了每个类别的数量,所以适用于数据分布不平衡的情况;但同时因为考虑到数据的数量,所以在数据极度不平衡的情况下,数量较多数量的类会较大的影响到F1的值;

marco-F1:

  • 计算方法:将所有类别的Precision和Recall求平均,然后计算F1值作为macro-F1;
  • 使用场景:没有考虑到数据的数量,所以会平等的看待每一类(因为每一类的precision和recall都在0-1之间),会相对受高precision和高recall类的影响较大