二值化评级 - MovieLens 数据集

Binarize the ratings - MovieLens dataset

我正在开发一个基于用户点击行为的个性化新闻推荐引擎。我的功能将是预定义的新闻类别(例如政治、体育等)。

每当用户点击一篇文章时,我会根据这篇文章build/update 用户简介,然后从文章库中推荐另一篇文章。

关于这个系统的评估,我需要一个包含二进制用户-项目交互的数据集(用户是否点击了推荐文章)——我找不到适合这个特定上下文的数据集。我想要做的是,二值化 Movielens 数据集,然后计算精度和召回率。

我在 MovieLens 数据集中的实际操作如下:如果用户对某个项目的评分大于该用户的平均评分,我将其分配为二进制评分 1, 0 否则。

这种方法是评估此类系统的正确方法吗?

  1. 二值化没有区别。准确率和召回率是相对的,因此您只需要有人评分这一事实。 "good" 评级的算法对于测试目的毫无意义。
  2. epinions 有两个数据集,一个用于评级,另一个二进制用于信任。
  3. 使用 MAP@k 表示一些推荐的平均精度。这样会考虑到在一组推荐中的排名,这是不行的,怀疑怎么用。

顺便说一句,开源中已经有一个推荐器可以做到这一点,并且允许混合多个 events/actions/indicators 并且还可以使用内容相似性 here。它基于 PredictionIO 的框架,该框架基于 Spark。