推荐系统的评估指标

时间:2017-12-06 15:01:23

标签: python metrics recommendation-engine precision-recall

我正在构建一个协作过滤推荐引擎,我正在尝试衡量我的模型的准确性和建议的质量。我用以下步骤测试我的算法。

1)用3个月的数据训练模型(t)

2)我推荐第二天的项目(t1 = t + 1day)

3)从验证集计算准确度,精度和召回率。

作为验证,我使用30天的时间空间(t1 + 30天)来检查用户是否与产品互动

这是我现在测量模型的方式:

准确度:用户从我的前5个推荐中购买1件物品的次数

对于Precision和Recall我测量每个用户的2个指标,然后我找到了所有用户的平均精度和召回:

前5项建议中的

精确度:正确建议/ 5

召回排名前5位的建议:正确推荐/已知产品 用户在30天内购买验证

我测量召回的方式是否正确?

召回在推荐引擎中代表什么?

我可以使用其他任何指标吗?

1 个答案:

答案 0 :(得分:1)

召回建议系统采用的措施衡量客户实际购买的产品(点击数)与测试集中产品数量(| T |)的比率。

formula

首先为每个测试客户计算此度量,然后对测试集中的所有用户求平均值。有关基本概念的更多信息可以在Cremonesi等人的论文中找到。 (2010)“关于推荐任务的推荐算法的性能”或Herlocker等人的早期论文。 (2004)“评估协作过滤指挥系统”

其他可能合适的指标可以兼顾,精确和召回。例如,F1-Score是两种测量的调和平均值,可以通过

计算

formula

然而,一些研究表明,客户通常会从上到下查看推荐列表,通常只会感知列表顶部的少数产品。为了克服该问题,可以使用基于排序的测量,例如,平均平均精度(MAP)。