目录
一、数据集简介
MovieLens 数据集在推荐系统领域极具影响力,由明尼苏达大学 GroupLens 研究小组精心收集并持续维护。该数据集整合了大量电影评分、标签及相关元数据,为推荐算法的研究与优化提供了坚实的数据基础,助力学者和开发者构建更精准的用户观影偏好推荐系统。
二、数据集包含的内容
- 评分数据:
ratings.csv(原ratings.dat)包含了用户对电影的评分数据,具体包含以下信息:
1) 用户ID(UserID):范围在1到6040之间;
2) 电影ID(MovieID):范围在1到3952之间;
3) 评分(Rating):采用5星评分制,只能是整数星级;
4) 时间戳(Timestamp):记录评分时间,以秒为单位。数据集总共包含1,000,209条匿名评分记录,每个用户至少有20条评分记录。
时间戳(Timestamp)(时间印章)在MovieLens数据集中用于记录用户对电影进行评分的具体时间点,它以Unix时间戳的形式存储(从1970年1月1日开始计算的秒数)。这个时间信息可以用来分析用户的评分行为随时间的变化趋势,比如用户在不同时间段的评分偏好、评分频率的变化等,也可以用于构建时间序列相关的推荐算法,或者用于筛选特定时间段的评分数据进行分析。
- 电影信息:
movies.dat包含电影的基本信息,包括电影ID、标题和类型信息。电影类型包括Action、Adventure、Animation等18种类型,这些类型可以单独出现,也可以组合出现,比如一部电影可能同时属于'Action|Adventure|Thriller'(动作|冒险|惊悚)等多个类型。
- Action(动作)
- Adventure(冒险)
- Animation(动画)
- Children's(儿童)
- Comedy(喜剧)
- Crime(犯罪)
- Documentary(纪录片)
- Drama(剧情)
- Fantasy(奇幻)
- Film-Noir(黑色电影)
- Horror(恐怖)
- Musical(音乐)
- Mystery(悬疑)
- Romance(爱情)
- Sci-Fi(科幻)
- Thriller(惊悚)
- War(战争)
- Western(西部)
- 用户信息:
users.dat包含用户的人口统计学信息,包括性别、年龄段(分为7个区间)和职业(分为21类);
其中:
性别分为:男性(M)和女性(F)
年龄分为7个区间:
- 1: 18岁以下
- 18: 18-24岁
- 25: 25-34岁
- 35: 35-44岁
- 45: 45-49岁
- 50: 50-55岁
- 56: 56岁以上
职业分为21类:
- 0: 其他或未指定
- 1: 学者/教育工作者
- 2: 艺术家
- 3: 文员/行政人员
- 4: 大学/研究生学生
- 5: 客户服务
- 6: 医生/医疗保健
- 7: 行政/管理人员
- 8: 农民
- 9: 家庭主妇
- 10: K-12学生
- 11: 律师
- 12: 程序员
- 13: 退休人员
- 14: 销售/市场营销
- 15: 科学家
- 16: 个体经营者
- 17: 技术员/工程师
- 18: 技工/工匠
- 19: 失业人员
- 20: 作家
三、数据集的用途
- 推荐算法研究与测试:MovieLens 数据集是评估协同过滤、基于内容推荐、混合推荐等各类算法性能的理想选择。通过比较不同算法在预测用户评分和推荐电影准确性方面的表现,可筛选出更优算法。
- 用户画像构建:利用用户评分、年龄、性别、职业等信息,能够构建精准的用户画像,为个性化推荐提供有力支撑。
四、数据集安装
(一)在线下载
- 访问官网:打开浏览器,输入https://grouplens.org/datasets/movielens/,进入 MovieLens 数据集官方下载页面。
- 选择版本:网站提供多个不同规模的数据集版本。例如,ml - latest - small 版本适合初学者,包含约 10 万条评分数据和 9750 多部电影;ml - latest 版本数据量更大。根据需求选择后,点击对应版本的 “Download” 按钮,将压缩文件下载至本地。
- 解压文件:下载完成后,使用解压软件(如 WinRAR、360zip 等)解压文件,即可获取数据集文件夹,其中包含 ratings.csv(评分数据文件)、movies.csv(电影信息文件)等核心文件。
(二)借助 Python 库安装
- 安装 Surprise 库:在 Python 环境中,打开终端(Windows 系统的命令提示符、Anaconda Prompt,或 Mac/Linux 系统的 Terminal),输入命令 “pip install scikit - surprise”,安装 Surprise 推荐系统库,该库内置了 MovieLens 数据集获取功能。
- 加载数据集:在 Python 脚本或交互式环境中,输入以下代码:
from surprise import Dataset
data = Dataset.load_builtin('ml-100k') # 加载MovieLens 100k数据集
运行代码后,程序将自动联网下载数据集,并转换为适合 Surprise 库推荐算法实验的格式,便于后续直接调用算法进行研究。
MovieLens 数据集是进入推荐系统领域的理想起点,其安装便捷、内容丰富、用途广泛,为探索个性化推荐提供了有力支持。