如何解决理解在推荐系统中训练和测试的 precision@k
我目前正在构建一个推荐系统,我正在尝试对其进行评估。然而,许多来源有不同的计算precision@k 和recall@k 的方法。让我举一个例子来更容易说明。
假设我们只有 1 个用户,共有 8 个项目,分别分为 train
和 test
用于训练和测试。最终预测的评分矩阵是r_pred
:
# - refers to not rated
ratings =
A B C D E F G H
- 4 4 5 2 5 2 5
train =
A B C D E
- 4 4 5 2
test =
F G H
5 2 5
r_pred =
A B C D E F G H
4.9 4.1 4.2 4.6 1.0 4.5 2.0 4.0
现在我想计算测试集的precision@k和recall@k。
precision@k = 相关的推荐项目/推荐项目
召回@k = 相关的推荐项目/相关项目
假设k = 2
和relevant items = ratings > 2
,你如何计算推荐商品和相关商品?
我假设相关项目是测试集中 > 2 的项目。relevant items = {F,H}
recommended items = {A,F}
因为它们是用户之前未评价过的 2 个最高值 或 不在训练集中
recommended items that are relevant = {F}
或者是吗
recommended items = {F,H}
因为它们是 在测试集中中预测值最高的 2 个。 recommended items that are relevant = {F,H}
或者是吗
recommended items = {A,D}
因为它们是 在最终评分矩阵中 中预测值最高的 2 个。 recommended items that are relevant = {}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。