首先声明,以下内容是看了项亮的《推荐系统实践》后 写的,内容基本出自该书,只是我自己再归纳总结一下而已(以免喷子又喷)
推荐系统中,主要有三种评测推荐效果的实验方法:
1)离线实验。 往往是从日志系统中取得用户的行为数据,然后将数据集分成训练数据和测试数据,比如80%的训练数据和20%的测试数据(还可以交叉验证),然后在训练数据集上训练用户的兴趣模型,在测试集上进行测试。 优点:只需要一个数据集即可,不需要实际的推荐系统(实际的也不可能直接拿来测试),离线计算,不需要人为干预,能方便快捷的测试大量不同的算法。缺点是无法获得很多实际推荐系统的指标,比如点击率,比如转化率(谁让没有人为干预呢。。)
2)用户调查。 离线实验往往测的最多的就是准确率,但是准确率不等于满意度,所以在算法上线之前,需要用户调查一下,测试一下用户满意度。
3)AB测试,通过一定的规则把用户随机分成几组,并对不同组的用户采用不同的推荐算法,这样的话能够比较公平的获得不同算法在实际在线时的一些性能指标。但是缺点是周期比较长,需要长期的实验才能得到可靠的结果。
如何判断一个推荐系统好不好,主要的测量指标如下:
1)用户满意度。这是最最关键的指标,推荐系统推荐物品干嘛,就是希望推荐出来的物品能让用户满意。可以有两种方法,一是用户问卷调查,二是在线评测满意度,比如豆瓣的推荐物品旁边都有满意