AUC推荐评价指标

6,872次阅读
没有评论

共计 806 个字符,预计需要花费 3 分钟才能阅读完成。

AUC推荐评价指标

最近在极客时间上买了一个推荐三十六式的课程,作为一个推荐系统方面的新手,在这个课程上还是可以学习不少推荐方面的知识,今天在看到BPR的时候给出了AUC在衡量推荐结果指标这块的分析。乍一看AUC还可以干这事,至少之前是没想过的,以前都是使用ROC或者AUC来衡量监督学习的好坏,现在还可以用来衡量推荐算法的好坏。

要分析这个就要从AUC的数学方面去理解这个概念了

AUC—排序衡量标准

auc和roc之前会被经常用于监督训练的指标测试,衡量一个模型的好坏,auc的英文就是area under currency ,但是更加直白的解释就是衡量当前的得到的排序结果是不是最好的,如果AUC值一直趋近于1那么现在的排序的结果非常好,如果是0.5那么真的很糟糕,如果接近于0那么你就是完美的把所有的结果排错了,那么你只要将之前的结果加一个负号重新排序就好了。

在这里主要介绍的是个性化推荐的评价,那么对于电商推荐来说主要是对用户的推荐评价

 AUC用于推荐算法排序结果衡量

  •  首先获取每一个用户推荐的商品结果,这其中包含了商品以及对商品的打分
  • 将推荐的结果按照商品的评分降序排列
  •  训练模型和测试集时间区间一定要不一样(这是常识。。),使用测试时间范围内的数据给之前推荐的结果打一个标签,如果用户在测试时间内消费了推荐的商品,那么给这个商品记录打一个1,表示为正样本,否则为0就是负样本
  • 然后给每一个样本加上一个排序的值,假设当前给用户推荐了50个商品,那么排名第一的商品给它一个50的值,依此递减。
  • 最后使用以下这个公式来计算最终的AUC值

$$AUC=\frac{\sum_{i=1}^{n}r_i-\frac{M*(M+1)}{2}}{M*N}$$

上述的公式中M表示正样本的个数,N表示负样本的个数,\(r_i\)就是前面给出的排名值,按照上述的计算规则就可以计算出一个用户的AUC值,如果要衡量整个推荐的好坏,可以计算所有的用户的AUC平均值

正文完
请博主喝杯咖啡吧!
post-qrcode
 
admin
版权声明:本站原创文章,由 admin 2018-06-28发表,共计806字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
验证码