想要计算map首先要知道下面几个公式:
精确度
P r e c i s i o n = T P T P + F P Precision= rac{TP}{TP+FP} Precision=TP+FPTP
召回率
R e c a l l = T P T P + F N Recall= rac{TP}{TP+FN} Recall=TP+FNTP
其中TP是正类判定为正类、FP是负类判定为正类、FN是正类判定为负类、TN是负类判定为负类
在Precision-Recall曲线基础上,通过计算每个recall值对应的Precision值得平均,可以获得一个数组形式的评估就是:AP
AP的公式为: A P = ∑ i = 1 n 1 ( r i + 1 r i ) P i n t e r ( r i + 1 ) AP=sum_{i=1}^{n-1}(r_{i+1}-r_i)P_{inter}(r_i+1) AP=i=1∑n1(ri+1ri)Pinter(ri+1)
其中r1,r2…rn是按升序排列的Precison插值段第一个插值处对应的Recall值。
所有类别的AP就是mAP。mAP公式为: m A P = ∑ i = 1 k A P i k mAP= rac{sum_{i=1}^{k}AP_i}{k} mAP=k∑i=1kAPi
简单来说,AP是准确率和召回率曲线下方的面积,mAP是各类AP的平均