Netflix Prize数据集是由Netflix公司提供的用户电影评级数据集,用于预测用户的电影偏好和推荐系统研究。
Netflix举办的智能推荐百万美金大奖赛使用了一个数据集。由于竞赛已经结束,在Netflix官网上已无法下载该数据集。
训练数据集中包含480,189名用户对17,770部电影的评分,共计1亿零48万条记录。每一条评分信息由四部分组成:<用户ID、电影ID、评价日期和评分>。其中用户与电影字段是整数型标识符,而评分为从1到5(整数)星级。
资格数据集包含超过2,817,131个三元组<用户、电影、评级日期>, 但这些评分只有评委知道。参赛队伍的算法必须预测整个资格集合上的分数,但他们只能获得其中一半的数据——即测试用例中的140万条记录的成绩反馈(称为“quiz set”)。另一半数据则用于最终成绩评定(被称为“test set”,包含1,408,789个评分)。
评委们仅知晓哪些评级在quiz集中,以及哪些在test集中。这种安排旨在防止选手针对测试集进行优化。提交的预测结果将根据真正的分数通过均方根误差(RMSE)来评估,并且目标是尽可能地减少这个误差值。值得注意的是,虽然实际评分范围是从1到5之间的整数,但参赛队伍所提交的预测可以为任何数值。
Netflix还从训练数据集中识别出了一个包含1,408,395个评级的小样本集(称为“probe set”)。测试、quiz和test集合均具有相似的统计属性。总结而言,用于Netflix Prize的数据集如下:
- 训练集:不包括探针子集的情况下有99,072,112条评分;包含探针子集则共有1亿零48万条。
- 探索性数据集(Probe set):含有的评级数量为1,408,395个
- 资格集合(Qualifying set):
- 测试集(Test Set): 包括了用于决定优胜者的1,408,789条评价。
- Quiz 集:包含用来计算排行榜分数的1,408,342个评分。
每部电影的名字和发行年份在另一个单独的数据集中提供,但没有关于用户的任何信息。为了保护客户隐私,“训练集与资格集合中部分客户的评级数据被故意进行了修改”,例如删除、插入替代评价或日期等操作。
平均而言,每个用户对超过200部影片进行过评分,并且平均每部电影收到了来自5,000多个不同用户的评价。然而,在这些数据之间存在较大的差异性——训练集中一些电影仅有3个评级;而一位用户则为17,000多部电影打分。
关于选择RMSE作为评判标准,曾有一些争议:降低10%的均方根误差是否真的能给用户带来显著的好处?有人认为即使仅仅提高1%,也足以大幅度改变某位用户的“前十推荐”列表。