当前位置: 代码迷 >> 综合 >> 准确率(Precision)、精确率、召回率(Recall)、F值(F-Measure)
  详细解决方案

准确率(Precision)、精确率、召回率(Recall)、F值(F-Measure)

热度:89   发布时间:2023-12-03 20:47:44.0

下面简单列举几种常用的推荐系统评测指标:

准确率、精确率、召回率和 F 值是在鱼龙混杂的环境中,选出目标的重要评价指标。不妨看看这些指标的定义先:

TP-将正类预测为正类

FN-将正类预测为负类

FP-将负类预测位正类

TN-将负类预测位负类

准确率(正确率)=所有预测正确的样本/总的样本 (TP+TN)/总

精确率= 将正类预测为正类 / 所有预测为正类 TP/(TP+FP)

召回率 = 将正类预测为正类 / 所有正真的正类 TP/(TP+FN)

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曲线来帮助分析。

综合评价指标(F-Measure)

P和R指标有时候会出现的矛盾的情况,这样就需要综合考虑他们,最常见的方法就是F-Measure(又称为F-Score)。

F-Measure是Precision和Recall加权调和平均:
在这里插入图片描述

当参数α=1时,就是最常见的F1,也即
在这里插入图片描述

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

E值
E值表示查准率P和查全率R的加权平均值,当其中一个为0时,E值为1,其计算公式:
在这里插入图片描述

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

平均正确率(Average Precision, AP)

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

  相关解决方案