这里我们先理解一下AP的概念

AP的概念主要是根据ROC曲线的面积来求取的,ROC曲线的面积又是根据准确率和召回率来获得的

准确率的说明: 被判断为正样本中,实际被判断为正确的正样本的个数

召回率的说明:实际的正样本中,被判断为正确的正样本的个数

 

 

 

 

以上图为例

当阈值在0.9时,判断为正样本的个数时1,正确的个数是1, 因此此时的准确率是1/1 = 100% 

当阈值为0.9时,判断为正样本的个数为1, 正确的个数是1, 这里有3个正样本,  因此此时的召回率是1/3 = 0.33% 

当阈值为0.8时,判断为正样本的个数是2,正确的个数是1, 因此此时的正确率是1/2 = 50 % 

当阈值为0.8时,判断为正样本的个数是2,正确的个数是1, 这里有3个正样本, 因此此时的召回率是1/2 = 50% 

当阈值为0.7时,判断为正样本的个数为3,正确的个数是2, 因此此时的正确率是2/3 = 66.6% 

当阈值为0.7时,判断为正样本的个数为3,正确的个数为2, 这里有3个正样本,因此此时的召回率是2/3 = 66.6% 

将上面的结果画在一副横纵坐标准确率,横坐标召回率的图上

计算这个结果的面积: 

 

 MAP的意思是计算各个类别的AP值,求取平均

比如有两类,类A的AP值是0.5,类B的AP值是0.2,那么mAP=(0.5+0.2)/2=0.35

     

 

posted on 2021-08-21 16:10  python我的最爱  阅读(183)  评论(0编辑  收藏  举报