f1分数,map,recall,precision怎么计算
一、训练结果
我们先把训练好的模型预测结果贴出来:
1、map
2、预测中正确和错误的框框数
3、自己标记框的个数
4、回归曲线
通过打印出最后的recall为:
0.8909599254426841, 0.8918918918918919, 0.8918918918918919, 0.8928238583410997, 0.8928238583410997, 0.8928238583410997]\
根据上图我们容易知道:
预测框:97+958=1055 正确:958,错误:97
真实框(自己手动标记):1073
recall:0.8928238583410997
二、计算
1、precision
这里:TP:预测正确的个数,FP预测错误的个数
所以: p r e c i s i o n = 958 / ( 958 + 97 ) = 0.9023 precision=958/(958+97)=0.9023 precision=958/(958+97)=0.9023
2、recall
注:TP,FP同上,FN是指没有预测到的框框数,所以TP+FN就是真实(所有手动标记框)标记框的个数。
r e c a l l = 958 / 1073 = 0.8928 recall=958/1073=0.8928 recall=958/1073=0.8928
和代码计算相同。
3、f1分数
根据上述算的recall和precision 很容易可以得到f1:
f 1 = 2 ∗ 0.9023 ∗ 0.8928 / ( 0.9023 + 0.8928 ) = 0.8975 f1=2*0.9023*0.8928/(0.9023+0.8928)=0.8975 f1=2∗0.9023∗0.8928/(0.9023+0.8928)=0.8975
4、然后是ap:
ap就是算下图的积分面积。
丹阳吾提,普遍认为map就是ap.
多物体:map就是类别ap求和求平均。