Machine Learning

多分类的评价指标Macro-P/R和Micro-P/R以及Ave

2018-07-17  本文已影响0人  cogear

前言

前一篇文章讲了Precision和Recall。但只是在一个简单的二分分类的情况下进行评价。当基于同一数据集多次训练/测试不同模型,或者基于多个数据集测试评价同一个模型,再或者执行多分类的任务时,会产生很多混淆矩阵(上一篇文章划分的矩阵,TP,FP,TN,FN)。
怎么评价?

macro-P宏查准率和macro-R宏查全率以及macro-F1

marcoP = \frac{1}{n}\sum_1^nP_i
marcoR = \frac{1}{n}\sum_1^nR_i
marcoF1 = \frac{2 \times macroP \times macroR}{macroP + macroR}

公式1.png

由上面公式我们可以看出,就是对获得的多个混淆矩阵,分别求得P和R,然后算术平均,获得macro-P 和 macro-R。macro-F1则是由macro-P 和 macro-R计算得来。

micro-P微查准率和micro-P微查全率以及micro-F1

与上面的宏不同,微查准查全,先将多个混淆矩阵的TP,FP,TN,FN对应位置求平均,然后按照P和R的公式求得micro-P和micro-R。最后根据micro-P和micro-R求得micro-F1
microP = \frac{\overline{TP}}{\overline{TP} \times \overline{FP}}
microR = \frac{\overline{TP}}{\overline{TP} \times \overline{FN}}
mircoF1 = \frac{2 \times microP \times microR}{microP + microR}

公式2.png

Average Precision (AP)

AP是对不同召回率点(查全率Recall)上的Precision进行平均。

  1. 未插值的AP: 某个查询Q共有6个相关结果,某系统排序返回了5篇相关文档,其位置分别是第1,第2,第5,第10,第20位,则AP=(1/1+2/2+3/5+4/10+5/20+0)/6
  2. 插值的AP:在召回率分别为0,0.1,0.2,…,1.0的十一个点上的正确率求平均,等价于11点平均
  3. 只对返回的相关文档进行计算的AP, AP=(1/1+2/2+3/5+4/10+5/20)/5,倾向那些快速返回结果的系统,没有考虑召回率。

Mean Average Precision(mAP)

上文可以看出,AP只是对一个混淆矩阵进行计算的。基于多个数据集测试时,或者执行多分类任务时(比如目标检测算法中,有很多分类对象),会产生多个AP,那么,参照macro-P的计算方法,将多个AP进行平均,得到mAP。
mAP = \frac{1}{n}\sum_1^n(AP)_i

image.png
上一篇 下一篇

猜你喜欢

热点阅读