作者版权:林子 Leoch007
欢迎转载,注明出处
分类的评估指标有很多,这里考虑如下几个:Precision,Recall,F1,macro-F1,micro-F1
预测/真实 | 1 | 0 |
---|---|---|
1 | TP | FP |
0 | FN | TN |
Positive/Negative 表示预测的正负
True/False 表示预测是否正确
- Precision: P=TPTP+FP P = T P T P + F P
- Recall: R=TPTP+FN R = T P T P + F N
- Accuracy: Acc=TP+TNTP+TN+FP+FN A c c = T P + T N T P + T N + F P + F N
- F1: F1=2⋅P⋅RP+R F 1 = 2 ⋅ P ⋅ R P + R
而macro-F1和micro-F1,宏观F1值和微观F1值,考虑的是在多标签(Multi-label)情况下,分类效果的评估方式。
(Multi-label 指的是多个分类的目的,每个目的都是Binary的,可参考我的另一篇博客 https://blog.csdn.net/Leoch007/article/details/80671644 )
比如Multi-label 性别男或女(0/1)以及是否是学生(0/1);当然Multi-class也可以通过一定的编码方式转化为Multi-label,如原始类别1,2,3,4,独热编码后可用四元向量表示[0,1,0,0]即表示类标2。
macro-F1和micro-F1正是基于分类目的的多样性,将只适用于Binary分类的F1值推广了:
micro-F1:
统计各个类标的TP、FP、FN、TN,加和构成新的TP、FP、FN、TN,然后即可计算micro-Precision和micro-Recall,得到micro-F1
macro-F1: F1macro
统计各个类标的TP、FP、FN、TN,分别计算各自的Precision和Recall,得到各自的F1值,然后取平均值得到macro-F1
从上面二者计算方式上可以看出,macro-F1平等地看待各个类别,它的值会受到稀有类别的影响;而micro-F1则更容易受到常见类别的影响。