美文网首页
ROC与AUC小结

ROC与AUC小结

作者: 承羿 | 来源:发表于2017-07-27 18:01 被阅读43次

    前言

    最近组内在学习机器学习算法,参考书目是李航老师的《统计学习方法》。

    目前工业界对于离线推荐效果验证的指标通常是AUC,我是前不久才知道这个指标的。硕士做毕业设计时,用的是Recall和Precision。相比Recall和Precision,AUC效果要更好一些。本文就学习和总结一下AUC这个指标。

    当然,这只是在离线测试模型效果时比较有用,而线上的效果还是用线上AB比较有说服力。

    要说明AUC,则先要说清楚ROC曲线。下面是一副来自网络的ROC曲线图:

    ROC曲线图

    先关注纵横坐标,我们看到纵坐标是True Positive Rate(TPR),横坐标是False Positive Rate(TPR)。我们在李航老师的《统计学习方法》中可以找到关于这两个概率的计算来源:

    《统计学习方法》的截图

    这里面给了Recall和Precision的计算方式,我们可以从另一个角度理解这两个参数:

    精确率是 TP/(TP+FP),也就是预测正确的除以我们给用户推荐的Item的总数。因为我们给用户推荐的Item中,除去用户点击的,剩下的就是我们把没有点击的预测成了正样本,也就是FP。

    召回率是TP/(TP+FN),也就是预测正确的除以用户实际点击的全部Item的总数。因为用户实际点击的Item中,除去我们预测对的,剩下的就是我们没有预测到的,也就是把会点击的预测成了负样(在推荐列表中没显示出来,所以是负的),也就是FN。

    有了TP、FP和FN这些概念,我们可以计算FPR和TPR了。

    通常,我们会对一个Item列表给出某个User下的概率,例如I={i1,i2,i3,i4,i5}对应的预测P={p1,p2,p3,p4,p5}。对于这个Item列表,用户的实际点击情况是T={1,0,0,1,0},我们用1表示点击,以0表示未点击,也就是说1代表正样本,0代表负样本。

    假设p1<p2<p3<p4<p5,并且我们假设小于p3的我们不推荐,大于等于p3的我们推荐,则可以得到我们预测的PT={0,0,1,1,1},在这里我们预测的正样数量P=3,负样N=2。

    我们预测对的TP=1,FP=2。则TPR=TP/P=1/3,FPR=FP/N=2/2=1。

    AUC

    计算方法

    相关文章

      网友评论

          本文标题:ROC与AUC小结

          本文链接:https://www.haomeiwen.com/subject/bxqtlxtx.html