跬步系列 - Metrics

准确率与召回率(Precision & Recall)

准确率召回率是广泛用于信息检索和统计学分类领域的两个度量值, 用来评价结果的质量. 其中准确率,也就是精度,是检索出相关文档数与检索出的文档总数的比率, 衡量的是检索系统的查准率;召回率是指检索出的相关文档数和文档库中所有的相关文档数的比率, 衡量的是检索系统的查全率.

一般来说, Precision就是检索出来的条目(比如: 文档, 网页等)有多少是准确的, Recall就是所有准确的条目有多少被检索出来了.

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

  • 准确率 = 提取出的正确信息条数 / 提取出的信息条数
  • 召回率 = 提取出的正确信息条数 / 样本中的信息条数
  • F值 = 准确率 * 召回率 * 2 / (准确率 + 召回率)

准确率和召回率两者取值在0和1之间, 数值越接近1, 查准率或查全率就越高.
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加权调和平均: F=(a2+1)PRa2(P+R)
当参数α=1时, 就是最常见的 F1 , 也即: F1=2PRP+R
可知 F1 综合了P和R的结果, 当 F1 较高时则能说明试验方法比较有效.

E值

E值表示查准率P和查全率R的加权平均值, 当其中一个为0时, E值为1, 其计算公式:

E=11+b2b2P+1R

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

平均准确率(Average Precision, AP)

平均准确率表示不同查全率的点上的准确率的平均.

平均绝对误差MAE(Mean Absolute Error)

平均绝对误差MAE(Mean Absolute Error)又被称为 l1 范数损失(l1-norm loss):

平均平方误差 MSE(Mean Squared Error)

平均平方误差 MSE(Mean Squared Error)又被称为 l2 范数损失(l2-norm loss):

相关阅读

  • 推荐系统TopN推荐评测指标—准确率(Precision), 召回率(Recall), F值(F-Measure)
  • 机器学习性能评估指标

你可能感兴趣的:(跬步系列)