准确率、召回率和综合评价指标

最近在准备比赛,由于比赛涉及到准确率,召回率和综合评价指标,虽然以前都看过,但是突然间忘了,显得很是尴尬,所以写篇博客来帮自己做一下笔记。

1.基本概念

准确率和召回率这两个通常是此消彼长的(trade off),很难兼得。很多时候用参数来控制,通过修改参数则能得出一个准确率和召回率的曲线(ROC),这条曲线与x和y轴围成的面积就是AUC(ROC  Area)。AUC可以综合衡量一个预测模型的好坏,这一个指标综合了precision和recall两个指标。

但AUC计算很麻烦,有人用简单的F-score来代替。F-score计算方法很简单:

F-score=(2*precision*recall)/(precision+recall)

即使不是算数平均,也不是几何平均。可以理解为几何平均的平方除以算术平均。
虽然看起来有点复杂,但是我们可以通过一个简单的例子来帮助大家通俗的理解这两个概念:
现在我让你去一个箱子里面摸球,在箱子里面有14个红球,3个黄球,3个蓝球。经过你的一番努力,你一共摸到了7个红球,2个黄球和1个蓝球,那么此时你的准确率和召回率便是:
准确率=7/(7+2+1)=70%,
召回率=7/14=50%,
F值=2*0.7*0.5/(0.7+0.5)=58.3%
为了能给大家更为形象的展示,这里我选择展示极限的情况,极为:你把所有的球都摸出来了,那么结果便是:
准确率=14/(14+3+3)=70%,
召回率=14/14=100%,
F值=2*0.7*1/(0.7+1)=82.35%

由此可见,正确率是评估捕获的成果中目标成果所占得比例;召回率,顾名思义,就是从关注领域中,召回目标类别的比例;而F值,则是综合这二者指标的评估指标,用于综合反映整体的指标。

当然希望检索结果Precision越高越好,同时Recall也越高越好,但事实上这两者在某些情况下有矛盾的。比如极端情况下,我们只搜索出了一个结果,且是准确的,那么Precision就是100%,但是Recall就很低;而如果我们把所有结果都返回,那么比如Recall是100%,但是Precision就会很低。因此在不同的场合中需要自己判断希望Precision比较高或是Recall比较高。如果是做实验研究,可以绘制Precision-Recall曲线来帮助分析。

2.综合评价指标

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越大,表示查准率的权重越大。

posted @ 2019-07-16 16:04  风骚的小柴犬  阅读(664)  评论(0编辑  收藏  举报