推荐系统常用测评指标
Posted 混沌战神阿瑞斯
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了推荐系统常用测评指标相关的知识,希望对你有一定的参考价值。
摘要:
测评方法:
离线实验
在线实验
测评指标:
1.用户满意度
在线测评方法
2.预测准确率
2.1评分预测
2.2TopN推荐
3.覆盖率(coverage)
4.多样性
5.新颖性
内容:
测评方法:
离线实验
(1)通过日志系统获得用户行为数据,并按照一定格式生成一个标准的数据集;
(2)将数据集按照一定的规则分成训练集和测试集;
(3)在训练集上训练用户兴趣模型,在测试集上进行预测;
(4)通过事先定义的离线指标测评算法在测试集上的预测结果。
离线实验常见的预测指标:准确率,召回率,Fscore等
在线实验
在完成离线实验和必要的用户调查后,可以将推荐系统上线做AB测试
同样有几点需要注意:
(1)AB test 的好处是显而易见的,可以公平获得不同算法实际在线时的性能指标;
(2)AB test 和用户调查一样,同样需要考虑到分布的随机,尽量要将与最终指标有相关性的因素都列出来,总而言之就是切分流量是AB test 的关键;
(3)AB test 的一个重要缺点就是实验周期长,这样才能得到可靠的结果,因此AB test 不应该测试所有的算法,而是只测试在离线实验和用户调查中表现很好的算法;
(4)如果有用户标签库的话,会极大的帮助在线实验。
4. 总结
一个新的推荐算法最终上线,需要完成上面所说的3个实验:
(1)首先,需要通过离线实验证明它在很多离线指标上优于现有的算法;
(2)然后,需要通过用户调查确定它的用户满意度不低于现有的算法;
(3)最后,通过在线等AB测试确定它在我们关心的指标上优于现有的算法。
测评指标
1.用户满意度
在线测评方法:主要通过用户行为的统计(点击,停留时间,转化率)或者通过用户反馈(满意,不满意)
2.预测准确率
2.1评分预测
定义:预测用户对物品的评分的行为
指标:
均方根误差(RMSE):
平均绝对误差(MAE):
其中Rui是用户u对物品i的实际评分,hat(Rui)是推荐系统预测的用户u对物品i的预测评分;|T|是总记录数
2.2TopN推荐
定义:TopN推荐是通过给用户一个前N个喜好物品的推荐列表,TopN推荐的预测率一般通过准确率(precision)/召回率(recall)度量
指标:
准确率:
召回率:
其中R(u)是根据用户在训练集中的行为给出的推荐列表,T(u)是根据用户在测试集中的行为给出的推荐列表
预测率:
rate = Precision / Recall
平均准确率:
参考链接(https://www.kaggle.com/wiki/MeanAveragePrecision)
3.覆盖率(coverage)
定义:度量了一个推荐系统挖掘长尾商品的能力
指标:
指标1:
其中U是用户集合,I是物品集合,R(u)是为用户u推荐的N个物品的集合
统计分布的指标:
信息熵:
,其中p(i)是物品i的流行度比上所有物品的流行度
基尼系数(不同于CART中gini 系数):
其中p(Ij)是降序的物品流行度字典的第j个物品的流行度
4.多样性(Diversity)
定义:推荐系统中物品两两之间的不相似性
指标:
用户u的推荐列表R(u)的多样性:
,其中s(i,j)是物品i,j的相似度
推荐系统的整体多样性:
,即所有用户推荐列表多样性的平均值
5.新颖性
定义:给用户推荐以前没有接触过的物品的度量
指标:平均流行度(越高,新颖性越低)
选择不同维度,对推荐系统进行测评
我的python代码:https://github.com/Tongzhenguo/Python-Project/tree/master/recommendsys/measurement_index
以上是关于推荐系统常用测评指标的主要内容,如果未能解决你的问题,请参考以下文章