2.模型评价
如何去评价一个推荐系统的优劣?一般可以从如下几个方面整体进行考虑:用户、物品提供者、提供推荐系统网站[7]。好的推荐系统能够满足用户的需求,推荐其感兴趣的物品。同时在推荐的物品中,不能全部是热门的物品,也需要用户反馈意见帮助完善其推荐系统。因此,好的推荐系统不仅能预测用户的行为,而且能帮助用户发现可能会感兴趣,但却不易被发现的物品。同时,推荐系统还应该帮助商家将长尾中的好商品发掘出来,推荐给可能会对它们感兴趣的用户。在实际应用中,评测推荐系统对三方影响是必不可少的。评测指标主要来源于3种评测推荐效果的实验方法,即离线测试、用户调查和在线实验。
离线测试是通过从实际系统中提取数据集,然后采用各种推荐算法对其进行测试,获得各个算法的评测指标。这种实验方法的好处是不需要真实用户参与。
注意 离线测试的指标和实际商业指标存在差距,比如预测准确率和用户满意度之间就存在很大差别,高预测准确率不等于高用户满意度。所以,当推荐系统投入实际应用之前,需要利用测试的推荐系统进行用户调查。
用户调查利用测试的推荐系统调查真实用户,观察并记录他们的行为,并让他们回答一些相关的问题。通过分析用户的行为和他们反馈的意见,判断测试推荐系统的好坏。
顾名思义,在线测试就是直接将系统投入实际应用中,通过不同的评测指标比较不同的推荐算法的结果,比如点击率、跳出率等。
由于本例中的模型是采用离线的数据集构建的,因此在模型评价阶段采用离线测试的方法获取评价指标。因为不同表现方式的数据集,其评测指标也不同,针对不同的数据方式,其评测指标的公式见表12-27。
表12-27 评测指标表
在某些电子商务的网站中,存在对物品进行打分的功能。在此种数据的情况下,如果要预测用户对某个物品的评分,就需要用预测准确度的数据表现方式,其中评测的指标有均方根误差(RMSE),平均绝对误差(MAE)。其中,rui代表用户u对物品i的实际评分,rui代表推荐算法预测的评分,N代表实际参与评分的物品总数。
在电子商务网站中,用户只有二元选择,例如,喜欢与不喜欢、浏览与否等。针对这种类型的数据预测,就要用到分类准确度。其评测指标有准确率(P、precesion),它表示用户对一个被推荐产品感兴趣的可能性。召回率(R、recall)表示一个用户喜欢的产品被推荐的概率。F1指标表示综合考虑准确率与召回率因素,更好地评价算法的优劣。相关的指标说明见表12-28。
除了上述指标外,还有一些评价指标如下。
真正率TPR=TP/(TP+FN)意思为:正样本预测结果数/正样本实际数,即召回率。
假正率FPR=FP/(FP+TN)意思为:被预测为正的负样本结果数/负样本实际数。
表12-28 分类准确度指标说明表
由于本例用户的行为是二元选择,因此在对模型进行评价的指标为分类准确度指标。针对婚姻知识类与咨询类的数据进行模型构造,通过3种推荐算法,以及不同K值(推荐K取值为3、5、10、15、20、30)的情况下所得出的准确率与召回率的评价指标。婚姻知识类的评价指标图如图12-11所示,从图中可看出,Popular算法是随着推荐个数K的增加,其召回率R将变大,准确率P将变小。基于物品的协同过滤算法的不同,随着推荐个数K的增加,其召回率R变大,准确率P也会上升。当达到某一临界点时,其准确率P随着K的增大而变小。3种算法的其他评价指标,见表12-29。从表中可以看出,在此数据下,随机推荐的结果最差,但是随着K值的增加,其F1值也在增加,而Popular算法的推荐效果随着K值的增加会越来越差,其F1值一直在下降,相对协同过滤算法,在K=5的时候,其F1值最大,然后会随着K值增加而下降。比较不同算法之间的差异,从表中可以看出,随机推荐的效果最差。当K取值3和5时,Popular算法优于协同过滤算法。但是当K值增加时,其推荐效果就不如协同过滤算法。从表中可以看出协同过滤算法相对较“稳定”。
图12-11 婚姻知识类准确率-召回率图
对于咨询类的数据,3种算法得出的准确率与召回率的结果如图12-12所示。可以看出Popular算法、随机算法的准确率和召回率都很低。但是协同过滤算法推荐的结果比其他算法推荐要好得多。产生这样的结果主要是因为数据问题:1)咨询类的数据量不够;2)业务上分析咨询的页面会很多,很少存在大量访问的页面。算法的其他评价指标,见表12-30。从表中可以看出,在此数据下,Popular算法与随机推荐算法的结果差,其F1值基本上是0。在协同过滤算法中,当K=5的时候,其F1值最大,然后会随着K值增加而下降。针对这种情况,协同过滤算法优于其他两种算法。
图12-12 咨询类准确率-召回率图
表12-29 婚姻知识类模型评价指标
表12-30 咨询类模型评价指标
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论