多分类模型的评价指标

文章目录

  • 基础符号
  • 宏F1(macro-F1)
  • 微F1(micro-F1)
  • 准确率(Accuracy)
  • 几何平均(G-mean)
  • Reference

基础符号

  • True Positive (TP):把正样本成功预测为正。
  • True Negative (TN):把负样本成功预测为负。
  • False Positive (FP):把负样本错误地预测为正。
  • False Negative (FN):把正样本错误的预测为负。

查准率Precision为
P = T P T P + F P , P = \frac{TP}{TP+FP}, P=TP+FPTP
查全率/召回率Recall为
R = T P T P + F N 。 R = \frac{TP}{TP+FN}。 R=TP+FNTP

F 1 = 2 × P × R P + R , F_1 = \frac{2 \times P \times R}{P + R}, F1=P+R2×P×R
即P和R的调和均值
1 F 1 = 1 2 ( 1 P + 1 R ) , \frac{1}{F_1} = \frac{1}{2} ( \frac{1}{P} + \frac{1}{R} ), F11=21(P1+R1)

对多分类模型,可以采用macro-F1(宏F1值)、micro-F1(微F1值)、正确率(Accuracy)和G-mean(几何平均,geometric mean)等。

宏F1(macro-F1)

其中,
macro- P = 1 n ∑ i = 1 n P i , macro- R = 1 n ∑ i = 1 n R i , \text{macro-}P=\frac{1}{n} \sum^n_{i=1} P_i,\text{macro-}R=\frac{1}{n}\sum^n_{i=1}R_i, macro-P=n1i=1nPimacro-R=n1i=1nRi

macro- F 1 = 2 × macro- P × macro- R macro- P + macro- R 。 \text{macro-}F_1=\frac{2 \times \text{macro-}P \times \text{macro-}R}{\text{macro-}P + \text{macro-}R}。 macro-F1=macro-P+macro-R2×macro-P×macro-R
此外,宏F1也有另外一种计算方式
macro- F 1 = 1 n ∑ i = 1 n F i \text{macro-}F_1 = \frac{1}{n} \sum^n_{i=1}F_i macro-F1=n1i=1nFi
这两种方式的使用一直存在争议,在sklearn的包中,使用的是第二种方式

微F1(micro-F1)

其中,
记TP、FP、TN、FN的平均值为 T P ‾ \overline{TP} TP F P ‾ \overline{FP} FP T N ‾ \overline{TN} TN F N ‾ \overline{FN} FN

micro- P = T P ‾ T P ‾ + F P ‾ , micro- R = T P ‾ T P ‾ + F N ‾ \text{micro-}P = \frac{\overline{TP}}{\overline{TP} + \overline{FP}},\text{micro-}R = \frac{\overline{TP}}{\overline{TP} + \overline{FN}} micro-P=TP+FPTPmicro-R=TP+FNTP

micro- F 1 = 2 × micro- P × micro- R micro- P + micro- R 。 \text{micro-}F_1=\frac{2 \times \text{micro-}P \times \text{micro-}R}{\text{micro-}P + \text{micro-}R}。 micro-F1=micro-P+micro-R2×micro-P×micro-R
其实,
micro- P = 1 n ∑ i T P i 1 n ∑ i T P i + 1 n ∑ i F P i = ∑ i T P i ∑ i T P i + ∑ i F P i , \text{micro-}P = \frac{\frac{1}{n} \sum_i TP_i}{ \frac{1}{n} \sum_i TP_i + \frac{1}{n} \sum_i FP_i } = \frac{ \sum_i TP_i}{ \sum_i TP_i + \sum_i FP_i }, micro-P=n1iTPi+n1iFPin1iTPi=iTPi+iFPiiTPi

micro- R = 1 n ∑ i T P i 1 n ∑ i T P i + 1 n ∑ i F N i = ∑ i T P i ∑ i T P i + ∑ i F N i = A c c u r a c y , \text{micro-}R =\frac{\frac{1}{n} \sum_i TP_i}{ \frac{1}{n} \sum_i TP_i + \frac{1}{n} \sum_i FN_i } = \frac{ \sum_i TP_i}{ \sum_i TP_i + \sum_i FN_i } = Accuracy, micro-R=n1iTPi+n1iFNin1iTPi=iTPi+iFNiiTPi=Accuracy

micro- F 1 = micro- P = micro- R = A c c u r a c y 。 \text{micro-}F_1 = \text{micro-}P = \text{micro-}R = Accuracy。 micro-F1=micro-P=micro-R=Accuracy
以后看到Accuracy指标也就知道是指微F1指标。

准确率(Accuracy)

准确率等于微F1值,同时等于微GM1。

几何平均(G-mean)

几何平均 G-mean ( x , y ) = x y \textsf{G-mean}(x, y) = \sqrt{x y} G-mean(x,y)=xy ,因此在使用时需要特别注明是哪两个指标值的几何平均。一般来说,有2种G-mean计算方式,

G-mean1: it is the geometric mean of sensitivity (also called hit rate or recall) and precision. 即
G M 1 = R ⋅ P , GM_1 = \sqrt{R \cdot P}, GM1=RP
一般用来求宏GM,对于微GM其值依旧等于Accuracy。

G-mean2: it is the geometric mean of sensitivity and specificity.

这个在医学上可能会见到,specificity measures how much a classifier can recognize negative examples,定义为
s p e c = T N T N + F P , spec = \frac{TN}{TN + FP}, spec=TN+FPTN

G M 2 = R ⋅ s p e c 。 GM_2 = \sqrt{R \cdot spec}。 GM2=Rspec

Reference

《机器学习》周志华 著,清华大学出版社
#机器学习 Micro-F1和Macro-F1详解
多分类模型Accuracy, Precision, Recall和F1-score的超级无敌深入探讨
Espíndola, Rogério & Ebecken, Nelson. (2005). On extending f-measure and g-mean metrics to multi-class problems. Sixth international conference on data mining, text mining and their business applications. 35. 25-34.

你可能感兴趣的:(机器学习基础)