precisionrecall「precision recall accuracy」
性能评价指标(Precision, Recall, F-score, MAP)
转自: CSDN博客原文
一:Precision, Recall, F-score

信息检索、分类、识别、翻译等领域两个最基本指标是召回率(Recall Rate)和准确率(Precision Rate------注意统计学习方法中precesion称为精确率,而准确率为accuracy 是分类正确的样本除以总样本的个数。),召回率也叫查全率,准确率也叫查准率,概念公式:
召回率(Recall)= 系统检索到的相关文件 / 系统所有相关的文件总数;;;亦即预测为真实正例除以所有真实正例样本的个数
准确率(Precision)= 系统检索到的相关文件 / 系统所有检索到的文件总数;;;亦即等于预测为真实正例除以所有被预测为正例样本的个数
注意:(1)准确率和召回率是互相影响的,理想情况下肯定是做到两者都高,但是一般情况下准确率高、召回率就低,召回率低、准确率高,当然如果两者都低,那是什么地方出问题了。
(2)如果是做搜索,那就是保证召回的情况下提升准确率;如果做疾病监测、反垃圾,则是保准确率的条件下,提升召回。
所以,在两者都要求高的情况下,可以用F1(或者称为F-score)来衡量。计算公式如下:
F1= 2 * P * R / (P + R)
(1) 公式基本上就是这样,但是如何算图1中的A、B、C、D呢? 这需要人工标注,人工标注数据需要较多时间且枯燥,如果仅仅是做实验可以用用现成的语料。当然,还有一个办法,找个一个比较成熟的算法作为基准,用该算法的结果作为样本来进行比照 ,这个方法也有点问题,如果有现成的很好的算法,就不用再研究了。
(2) 形象直观的理解就是Recall要求的是全,宁可错杀一千,不能放过一人,这样Recall就会很高,但是precision就会最低。比如将所有的样本都判为正例,这是Recall就会等于1,但是很多负样本都被当做了正例,在某些情况就不适用,比如邮件过滤,此时要求的是准确率,不能是召回率,将所有的邮件都当做垃圾邮件肯定是最坏的结果(此时Recall=1)。
如果没有证据证明你有罪,那么你就有罪,召回率会很高;如果没有证据证明你有罪,那么你就无罪,召回率会很低,不全,很多人逍遥法外;
二:MAP
MAP:全称mean average precision(平均准确率)。mAP是为解决P,R,F-measure的单点值局限性的,同时考虑了检索效果的排名情况。
如:
mPA 是Object Detection算法中衡量算法的精确度的指标,涉及两个概念:查准率Precision、查全率Recall。对于object detection任务,每一个object都可以计算出其Precision和Recall,多次计算/试验,每个类都 可以得到 一条P-R曲线 ,曲线下的面积就是AP的值,这个mean的意思是对每个类的AP再求平均,得到的就是mPA的值,mPA的大小一定在[0,1]区间。
准确率(accuracy)、召唤率(recall)和精确率(precision)
准确率(accuracy)、召唤率(recall)和精确率(precision)的关系
准确率(accuracy)=(TP+TN)/(TP+FN+FP+TN)
通俗解释: 在所有样本中,预测正确的概率
precision和recall都是针对某一类的分类状况来说的。
精确率(precision)=TP/(TP+FP)
通俗解释:预测为正的样本中,真实为正的概率
召回率(recall)=TP/(TP+FN)
通俗解释:真实为正的样本中,预测为正的概率
准确率(Precision)、召回率(Recall)、F值(F-Measure)
1、准确率与召回率(Precision Recall)
准确率 和 召回率 是广泛用于信息检索和统计学分类领域的两个度量值,用来评价结果的质量。其中精度是检索出相关文档数与检索出的文档总数的比率,衡量的是检索系统的 查准率 ;召回率是指检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索系统的 查全率 。
一般来说,Precision就是检索出来的条目(比如:文档、网页等)有多少是准确的,Recall就是所有准确的条目有多少被检索出来了。
正确率、召回率和 F 值是在鱼龙混杂的环境中,选出目标的重要评价指标。不妨看看这些指标的定义先:
1.正确率 = 提取出的正确信息条数 / 提取出的信息条数
2. 召回率 = 提取出的正确信息条数 / 样本中的信息条数
两者取值在0和1之间,数值越接近1,查准率或查全率就越高。
3. F值 = 正确率 * 召回率 * 2 / (正确率 + 召回率) (F 值即为正确率和召回率的调和平均值)
不妨举 这样一个例子 :某池塘有1400条鲤鱼,300只虾,300只鳖。现在以捕鲤鱼为目的。撒一大网,逮着了700条鲤鱼,200只虾,100只鳖。那么,这些指标分别如下:
正确率 = 700 / (700 + 200 + 100) = 70%
召回率 = 700 / 1400 = 50%
F值 = 70% * 50% * 2 / (70% + 50%) = 58.3%
不妨看看如果把池子里的所有的鲤鱼、虾和鳖都一网打尽,这些指标又有何变化:
正确率 = 1400 / (1400 + 300 + 300) = 70%
召回率 = 1400 / 1400 = 100%
F值 = 70% * 100% * 2 / (70% + 100%) = 82.35%
由此可见,正确率是评估捕获的成果中目标成果所占得比例;召回率,顾名思义,就是从关注领域中,召回目标类别的比例;而F值,则是综合这二者指标的评估指标,用于综合反映整体的指标。
当然希望检索结果Precision越高越好,同时Recall也越高越好,但事实上这两者在某些情况下有矛盾的。比如极端情况下,我们只搜索出了一个结果,且是准确的,那么Precision就是100%,但是Recall就很低;而如果我们把所有结果都返回,那么比如Recall是100%,但是Precision就会很低。因此在不同的场合中需要自己判断希望Precision比较高或是Recall比较高。如果是做实验研究,可以绘制 Precision-Recall曲线 来帮助分析。
2、综合评价指标(F-Measure)
P和R指标有时候会出现的矛盾的情况,这样就需要综合考虑他们,最常见的方法就是F-Measure(又称为F-Score)。
F-Measure是Precision和Recall加权调和平均 :
当参数α=1时,就是最常见的F1,也即
可知F1综合了P和R的结果,当F1较高时则能说明试验方法比较有效。
3、E值
E值表示查准率P和查全率R的加权平均值,当其中一个为0时,E值为1,其计算公式:
b越大,表示查准率的权重越大。
4、平均正确率(Average Precision, AP)
平均正确率表示不同查全率的点上的正确率的平均。
原文链接:
本文链接: