【问题标题】:Evaluation Metrics for Recommendation Systems推荐系统的评估指标
【发布时间】:2018-05-20 12:20:11
【问题描述】:

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

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

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

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

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

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

准确性:用户从我的前 5 条推荐中购买 1 件商品的次数

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

Precision 在 Top 5 建议中:正确建议 / 5

召回在前 5 条推荐:正确推荐/已知产品 用户购买后 30 天验证

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

Recall 在推荐引擎中代表什么?

我还有其他可以使用的指标吗?

【问题讨论】:

    标签: python metrics recommendation-engine precision-recall


    【解决方案1】:

    推荐系统采用的召回率衡量客户实际购买的产品(点击)与他们在测试集中的产品数量 (|T|) 的比率。

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

    其他可能合适的指标可以同时考虑精度和召回率。例如,F1-Score 是两种测量的调和平均值,可以通过

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

    【讨论】:

      猜你喜欢
      • 2013-02-04
      • 2011-09-04
      • 1970-01-01
      • 2020-11-08
      • 1970-01-01
      • 2017-06-05
      • 2018-01-09
      • 2014-06-10
      • 2016-09-05
      相关资源
      最近更新 更多