推荐系统的评估指标

Evaluation Metrics for Recommendation Systems

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

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

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

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

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

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

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

对于准确率和召回率,我测量了每个用户的 2 个指标,然后我找到了所有用户的平均准确率和召回率:

精度 排在前 5 位推荐:正确推荐 / 5

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

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

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

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

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

formula

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

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

计算

formula

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