搜索/推荐系统结果常用的评估指标-Precison,Recall,Accuracy

在一个推荐系统或者搜索系统,常常需要对结果进行一定的指标评估,常用的就是3个:

精准度:Precision

召回度:Recall

准确度:Accuracy

F:综合指标


下面就详细介绍一下:

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较高时则能说明试验方法比较有效。

实际使用中,对于推荐系统可以通过混淆矩阵来进行可视化展示:

混淆矩阵1
  • True Positive(真正, TP):将正类预测为正类数.
  • True Negative(真负 , TN):将负类预测为负类数.
  • False Positive(假正, FP):将负类预测为正类数  误报 (Type I error).
  • False Negative(假负 , FN):将正类预测为负类数  漏报 (Type II error).

P = TP / (TP+FP)

R = TP / (TP+FN)

F = 2TP / (2TP+FN+TN)

当然我们计算为了各个指标,可以选择的合适图进行展示,目前主要有两个类型的,ROC和AUC

ROC 曲线

比如在逻辑回归里面,我们会设一个阈值,大于这个值的为正类,小于这个值为负类。如果我们减小这个阀值,那么更多的样本会被识别为正类。这会提高正类的识别率,但同时也会使得更多的负类被错误识别为正类。为了形象化这一变化,在此引入 ROC ,ROC 曲线可以用于评价一个分类器好坏。

ROC 关注两个指标,

直观上,TPR 代表能将正例分对的概率,FPR 代表将负例错分为正例的概率。在 ROC 空间中,每个点的横坐标是 FPR,纵坐标是 TPR,这也就描绘了分类器在 TP(真正率)和 FP(假正率)间的 trade-off2

此处输入图片的描述

AUC:被定义为ROC曲线下的面积,显然这个面积的数值不会大于1

AUC值越大的分类器,正确率越高3

  • 完美分类器,采用这个预测模型时,不管设定什么阈值都能得出完美预测。绝大多数预测的场合,不存在完美分类器。
  • ,优于随机猜测。这个分类器(模型)妥善设定阈值的话,能有预测价值。
  • ,跟随机猜测一样(例:丢铜板),模型没有预测价值。
  • ,比随机猜测还差;但只要总是反预测而行,就优于随机猜测,因此不存在  的情况。

此处输入图片的描述

既然已经这么多评价标准,为什么还要使用ROC和AUC呢?因为ROC曲线有个很好的特性:当测试集中的正负样本的分布变化的时候,ROC曲线能够保持不变。在实际的数据集中经常会出现类不平衡(class imbalance)现象,即负样本比正样本多很多(或者相反)





  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值