MovieLens是明尼苏达大学GroupLens研究组建立并维护的电影评分数据集集合,数据来源于同名电影推荐网站的用户评分与标注行为。它提供从10万条到数千万条不等的多个版本,涵盖用户对电影的星级评分、自由文本标签以及部分用户人口统计信息,长期被用作推荐系统研究的公共基准数据。
定义
MovieLens是一组由明尼苏达大学GroupLens研究组收集并公开发布的电影评分数据集。它的数据来自MovieLens这一基于协同过滤的电影推荐服务,记录用户对电影给出的星级评分和自由文本标签。[1][2]
数据集通常按规模命名,例如100K、1M、10M、20M、25M等,每个版本对应不同的采集时间段和用户规模。评分记录一般包含用户编号、电影编号、评分值和时间戳,电影信息包含片名与类型,部分版本另附用户年龄、性别、职业和邮编等人口统计字段。
原理
MovieLens数据集本质上是一张稀疏的用户—电影评分矩阵:行对应用户,列对应电影,矩阵中的元素是评分值,大量位置没有观测值。评分采用5星制,早期版本只允许整数星,较新版本支持半星增量,范围从0.5星到5.0星。时间戳表示自1970年1月1日协调世界时零点起经过的秒数。[1]
在该矩阵上,推荐算法通过对已知评分建模来预测缺失位置的值。协同过滤依据用户之间或物品之间评分的相似性做推荐,矩阵分解则把评分近似为$r_{ui} \approx p_u^T q_i$,其中$p_u$和$q_i$分别为用户与电影的隐向量。研究常用留一法或交叉验证把观测评分划分为训练集与测试集,再以均方根误差等指标衡量预测精度。[3]
部分版本还包含标签基因组数据,它以稠密矩阵形式给出每部电影在每个标签上的相关度得分,由机器学习算法结合用户标签、评分与文本评论计算得到。[4]
发展历程
GroupLens是明尼苏达大学计算机科学与工程系的研究组,自1992年起探索自动化协同过滤,1996年启动MovieLens这一电影推荐服务,数据集即由该服务积累的用户行为导出。
最早的MovieLens 100K数据集于1998年4月发布,包含943名用户在1682部电影上的约10万条评分,采集期为1997年9月19日至1998年4月22日,并附带用户人口统计信息。[2]
此后数据集规模持续扩大:1M版本于2003年2月发布,含6000名用户对约4000部电影的100万条评分;10M版本于2009年1月发布,含7.2万名用户、约1万部电影和1000万条评分,并首次加入约10万条标签记录。[2][5]
20M版本于2015年4月发布,后在2016年10月更新并补充标签基因组数据;25M版本于2019年11月生成,包含25,000,095条评分、62,423部电影和162,541名用户。[2]
2023年10月采集、2024年5月发布的32M版本是目前推荐的稳定基准数据,含3200万条评分、约200万条标签应用,覆盖87,585部电影和200,948名用户。此外还存在由2000万条真实评分扩展生成的MovieLens 1B合成数据集,用于支持机器学习性能基准测试。[2]
应用
MovieLens数据集是推荐系统领域使用最广泛的公开基准之一,主要用于协同过滤、矩阵分解和深度学习推荐模型的训练与对比评测。多种工具链将其收录为标准示例数据,例如TensorFlow数据集目录提供了25M、20M、1M、100K等版本的统一加载接口。
在统计与数据分析环境中,该数据集也被打包为可直接调用的对象,用于演示评分矩阵的可视化与评估流程。[6]
自由文本标签和标签基因组数据可用于研究基于标签的推荐、内容理解与用户兴趣建模。[4]
局限
数据集的使用受许可条款约束:使用者不得暗示获得明尼苏达大学或GroupLens的认可,须在成果中引用相应论文,未经许可不得用于商业或营利目的,分发时需沿用相同条款。[4]
数据本身存在采集偏差。评分由推荐系统的展示结果诱发,用户看到的候选影片经过算法筛选,因此评分并非随机抽样的偏好表达;数据仅保留评分数量达到一定阈值的用户,其人口构成也不代表一般人群。[7]
各版本之间不能直接互换。较新版本不再包含人口统计信息,评分粒度在整数星与半星之间也存在差异;Latest系列属于会随时变动的开发用数据,官方说明其不适合作为可复现的研究结果依据,应改用标注为稳定基准的版本。[4]
官方声明不对数据的正确性、特定用途适用性以及基于数据所得结论的有效性作保证。[5]
参见
参考资料
- MovieLens 10M/100k Data Set README [引用日期2026-10-14]
- MovieLens [引用日期2026-10-14]
- arxiv.org 上的网页 [引用日期2026-10-14]
- Formatting and Encoding [引用日期2026-10-14]
- MovieLens 1m [引用日期2026-10-14]
- R: MovieLense Dataset (100k) [引用日期2026-10-14]
- The MovieLens Data Set [引用日期2026-10-14]