我正在构建一个协作过滤推荐引擎,我试图衡量我的模型和推荐的质量有多准确。我用以下步骤测试我的算法。
1)用3个月数据对模型进行训练(T)
2)我推荐第二天的商品(t1 = t+1day )
3)计算验证集的准确性、准确性和召回率。
作为验证,我使用30天的时间空间( t1 +30天)来检查用户是否与产品交互。
这就是我现在测量我的模型的方法:
准确性:用户从我的前5条推荐中购买1条商品的次数
对于精确和召回,我为每个用户度量了两个度量标准,然后我找到了所有用户的平均精确性和召回率:
精密度在前5名建议:正确的建议/5
召回前5条建议的:正确的建议/用户在30天内购买的已知产品
我测量回忆的方法正确吗?
召回在推荐引擎中代表什么?
还有什么其他指标我可以使用吗?
发布于 2017-12-13 09:06:47
推荐系统采用的召回度量了客户实际购买的产品(hits)相对于测试集中产品数量的比例。
该度量首先针对每个测试客户计算,然后对测试集中的所有用户进行平均计算。关于这个基本概念的更多信息可以在克里莫内西等人的论文中找到。(2010年)“推荐算法在Top推荐任务上的性能”,或赫洛克等人的早期论文。(2004年)“评价协作过滤推荐系统”
其他可能合适的度量标准可以考虑到精确性和召回性。例如,f1-得分是这两种度量的调和平均值,可以通过
然而,一些研究表明,客户通常会自上而下地查看推荐列表,通常只看到列表顶部的少数产品。为了克服这一问题,可以使用平均平均精度(MAP)等基于排名的度量方法.
https://stackoverflow.com/questions/47677334
复制相似问题