如何使用电影镜头数据集评估前 n 个推荐系统?

数据挖掘 推荐系统 信息检索 评估
2022-02-25 13:00:07

根据我的研究,推荐系统是信息过滤系统的一个子类,旨在预测用户对某个项目的“评分”或“偏好”。我目前正在开发一个协同过滤推荐系统,基本上是向用户推荐前“n”个项目(我使用了用户项目算法)。

因此,最重要的是,我将尝试使用电影镜头数据集来评估我的推荐系统,基本上从我的研究来看,top-N 推荐的典型评估措施是归一化折扣累积增益 (NDCG) 和精度/召回率。所以我的问题是如何使用电影镜头数据集(因为它是用户对项目的评分)使用这些指标(或者如果您对另一个指标有任何其他建议)进行评估。

谢谢。欢迎任何建议。

1个回答

对于各种指标,请随意查看各种基准测试库,包括MyMediaLiteLibRec如果您正在使用 TOP N 方法,那么使用 Movielens 系统进行评估的方法是简单地将评级转换为基于某个阈值的二元好恶。本质上,您会接受用户的“喜欢”。找到用户是测试集。找出用户喜欢的商品数量,看看推荐是否正确猜测了缺失的数据。

考虑这些数据集的关键在于,他们选择对电影进行评分这一事实意味着用户实际上是去看了电影。他们看过这部电影的事实表明对基本前提的默许。因此,一个好的推荐器应该能够预测用户未来对哪些项目进行评分。

不过,评估推荐系统的最简单方法就是插入评估框架,如 LibRec、MyMediaLite 或其他各种框架,并将返回的指标与您的算法进行比较。这些库通常具有将为您生成测试、培训和评估子集的代码,您所要做的就是将您的代码作为一个模块连接起来。

作为奖励,您可以随意将您的推荐算法作为拉取请求添加到库中,以便其他研究人员也可以尝试,您将拥有算法的优秀开源实现,未来的研究人员可以在他们自己的工作中参考。