转自http://bookshadow.com/weblog/2014/06/10/precision-recall-f-measure/

1,准确率和召回率是广泛应用于信息检索和统计学分类领域的两个度量值,来评价结果的质量。

其中精度是检索出相关文档数与检索出的文档总数的比率,衡量的是检索系统的查准率;

召回率:检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索系统的查全率;

一般来说

precision是检索出来的条目(文档、网页)有多少是准确的;

recall就是所有准确的条目有多少被检索出来了;

=======

定义:

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加权调和评价;

F = (α+1)P*R/(α(P+R))

当α=1时,就是最常见的F1,

F1=2*P*R/(P+R);

可知,F1综合了P和R的结果,当F1较高时,则能说明试验方法,比较有效;

=======

3,E值

E值表示差准率P和差全率R的加权评价值,当其中一个为0时,E值为1;

推荐系统评测指标--准确率(Precision)和召回率(Recall)、F值(F-Measure)-LMLPHP

b越大,表示差准率的权重越大。

=======

4,平均正确率(AP)

平均正确率表示不同查全率的点上的正确率的平均。

05-11 11:27