什么是微平均和宏平均

2017-10-19  本文已影响0人  荒岛at黎明

很多时候,我们在计算指标时会发现有多种可能的方法。比如最简单的计算多类分类的准确率,一种计算方法把所有类别的一次性都考虑进来,计算类别预测的准确率;另外还有一种是对每个类别分开考虑,计算单独每个类别的准确率,最后再进行算术平均得到该测试集的准确率。其实,第一种方法(也是最常用的方法)就是micro-average(微平均),第二种方法则是macro-average(宏平均)。

举例

假设我们有一个两类鉴别模型和测试集,该模型在该测试集上预测结果与实际类别对比可得:

第一类别

True positive (TP1)= 12

False positive (FP1)=9

False negative (FN1)=3

Then precision (P1) and recall (R1) will be 57.14 and 80

此处的TP、FP、TN、FN的含义为:真阳(查到且正确)、假阳(查到但不正确)、真阴(系统中不存在匹配项且没查到)和假阴(系统存在匹配项但没查到)。

查全率: recall rate = sum(tp) / (sum(tp) + sum(fn))

查准率: precision rate = sum(tp) /  (sum(tp) + sum(fp))

第二类别

True positive (TP2)= 50

False positive (FP2)=23

False negative (FN2)=9

Then precision (P2) and recall (R2) will be 68.49 and 84.75

微平均

Micro-average of precision = (TP1+TP2)/(TP1+TP2+FP1+FP2) = (12+50)/(12+50+9+23) = 65.96

Micro-average of recall = (TP1+TP2)/(TP1+TP2+FN1+FN2) = (12+50)/(12+50+3+9) = 83.78

宏平均

Macro-average precision = (P1+P2)/2 = (57.14+68.49)/2 = 62.82

Macro-average recall = (R1+R2)/2 = (80+84.75)/2 = 82.25

上一篇下一篇

猜你喜欢

热点阅读