想要计算map首先要知道下面几个公式:
精确度
P r e c i s i o n = T P T P + F P Precision=\frac{TP}{TP+FP} Precision=TP+FPTP
召回率
R
e
c
a
l
l
=
T
P
T
P
+
F
N
Recall=\frac{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∑n−1(ri+1−ri)Pinter(ri+1)
其中r1,r2…rn是按升序排列的Precison插值段第一个插值处对应的Recall值。
所有类别的AP就是mAP。mAP公式为:
m
A
P
=
∑
i
=
1
k
A
P
i
k
mAP=\frac{\sum_{i=1}^{k}AP_i}{k}
mAP=k∑i=1kAPi
简单来说,AP是准确率和召回率曲线下方的面积,mAP是各类AP的平均