推荐系统–MovieLens数据集

简介

MovieLens 数据集是由 GroupLens 项目组制作的公开数据集。MoveieLens数据集可以说是推荐系统领域最为经典的数据集之一,其地位类似计算机视觉领域里的MNIST数据集。

MovieLens数据集

MovieLens 是一系列数据集的统称。根据创建时间、数据集大小等划分为若干个子数据集。例如:

  • MovieLens 100K Dataset
  • MovieLens 1M Dataset
  • MovieLens 10M Dataset
  • MovieLens 20M Dataset

每个数据集都可以在官网进行下载。

数据集详情

我们以 MovieLens 1M Dataset 为例进行分析。

首先,我们下载 MovieLens 1M Dataset 后得到压缩包 ml-1m.zip。对其进行接下后可以得到四个文件:

  • movies.dat
  • ratings.dat
  • user.dat
  • README

README

README 文件中描述了数据集的相关信息,有兴趣的同学可以自行查阅。我们主要关注另外三个文件的内容和格式。

ratings.dat

ratings.dat 文件里面的内容包含了每一个用户对于每一部电影的评分。打开文件,我们可以看到以下内容 (我们仅展示一部分):

1::1193::5::978300760
1::661::3::978302109
1::914::3::978301968
1::3408::4::978300275
1::2355::5::978824291
1::1197::3::978302268
1::1287::5::978302039
1::2804::5::978300719

内容的描述格式为:UserID::MovieID::Rating::Timestamp

  • UserID 表示用户编号,范围从 1 到 6040
  • MovieID 表示电影编号,范围从 1 到 3952
  • Rating 表示用户对电影的评级,范围是 1 到 5,都是整数
  • Timestamp 表示时间戳,以秒为单位

注意: 每个用户至少会对 20 部电影进行评级。

users.dat

users.data 描述了用户的信息。我们展示文件的部分行。

1::F::1::10::48067
2::M::56::16::70072
3::M::25::15::55117
4::M::45::7::02460
5::M::25::20::55455
6::F::50::9::55117
7::M::35::1::06810
8::M::25::12::11413

内容的描述格式为:UserID::Gender::Age::Occupation::Zip-code

  • UserID 表示用户编号,范围从 1 到 6040

  • Gender 'M’代表男性,'F’代表女性

  • Age 表示用户年龄

    • 1: 18岁以下
    • 18: 18~24岁
    • 25: 25~34岁
    • 35: 35~44岁
    • 45: 45~49岁
    • 50: 50~55岁
    • 56:56岁以上
  • Occupation 表示用户的职业

    • 0:其他或者未指定
    • 1: 学者/教育行业
    • 2:艺术家
    • 3: 办事员/行政人员
    • 4: 大学生/研究生
    • 5:服务业
    • 6:医疗医护业
    • 7:执行官/管理者
    • 8:农民
    • 9:家庭主妇
    • 10:中小学生
    • 11:律师
    • 12:程序员
    • 13:退休人员
    • 14:销售人员/市场人员
    • 15:科学家
    • 16:自主创业
    • 17:技术人员/工程师
    • 18:商人/手工工作者
    • 19:失业
    • 20:作家
  • Zip-dode 表示用户所在地的邮政编码

movies.dat

movies.dat 文件中描述了电影的详细信息,我们展示部分内容。

1::Toy Story (1995)::Animation|Children's|Comedy
2::Jumanji (1995)::Adventure|Children's|Fantasy
3::Grumpier Old Men (1995)::Comedy|Romance
4::Waiting to Exhale (1995)::Comedy|Drama
5::Father of the Bride Part II (1995)::Comedy
6::Heat (1995)::Action|Crime|Thriller
7::Sabrina (1995)::Comedy|Romance
8::Tom and Huck (1995)::Adventure|Children's

内容的描述格式为:MovieID::Title::Genres

  • MovieID 表示电影编号,范围从 1 到 3952
  • Title 表示电影名称,由IMDB提供,且包括发行年份
  • Genres 表示电影题材,多种题材之间用 | 隔开,共包含以下题材
    • Action
    • Adventure
    • Animation
    • Children’s
    • Comedy
    • Crime
    • Documentary
    • Drama
    • Fantasy
    • Film-Noir
    • Horror
    • Musical
    • Mystery
    • Romance
    • Sci-Fi
    • Thriller
    • War Western

数据的加载

我们使用 pandas 加载数据

import pandas as pddef get_data(root_path):# 读取数据--并重新定义列名col_names = ['user_id','movie_id','rating','timestamp'] ratings = pd.read_csv(os.path.join(root_path, 'ratings.dat'), sep='::', engine='python', names=col_names)# 打印出前几行数据print(ratings[0:5])"""user_id  movie_id  rating  timestamp0        1      1193       5  9783007601        1       661       3  9783021092        1       914       3  9783019683        1      3408       4  9783002754        1      2355       5  978824291"""col_names = ["user_id", "gender", "age", "occupation", "zip_code"]users = pd.read_csv(os.path.join(root_path, 'users.dat'), sep='::', engine='python', names=col_names)print(users[:5])"""user_id gender  age  occupation zip_code0        1      F    1          10    480671        2      M   56          16    700722        3      M   25          15    551173        4      M   45           7    024604        5      M   25          20    55455"""col_names = ["movie_id", "title", "genres"]movies = pd.read_csv(os.path.join(root_path, 'movies.dat'), sep='::', engine='python', names=col_names)print(movies[:5])"""movie_id                               title                        genres0         1                    Toy Story (1995)   Animation|Children's|Comedy1         2                      Jumanji (1995)  Adventure|Children's|Fantasy2         3             Grumpier Old Men (1995)                Comedy|Romance3         4            Waiting to Exhale (1995)                  Comedy|Drama4         5  Father of the Bride Part II (1995)                        Comedy"""return ratings, users, moviesif __name__ == "__main__":root_path = './data/ml-1m/'get_data(root_path)

推荐系统--MovieLens数据集相关推荐

  1. MovieLens数据集处理

     有一个定律,对于内容的访问遵循80/20原则,也就是20%的内容,会占有80%的访问量.就是zipf分布[1].  根据MovieLens的数据集中的ratings.dat,我做了数据处理,获取得分 ...

  2. movielens数据集导入mysql_GitHub - Colaplusice/movielens_recommend: 基于movielens数据集的电影推荐系统...

    毕业设计--基于Django的电影推荐系统和论坛 说明 注册普通用户通过web界面来设置,创建创建用户通过creeatsuperuser创建.下文有详细命令 导入电影信息通过insert_movies ...

  3. 推荐系统常用数据集介绍

    前言 文章转载自:https://www.cnblogs.com/shenxiaolin/p/8337913.html 推荐系统常用数据集 首先需要说明一下推荐系统数据中的几个类别: Item: 即我 ...

  4. 推荐算法python数据集_推荐系统常用数据集

    ps:对原文有所删减 在这篇博客中,作者介绍了九个数据集,其中一些是推荐系统中常用到的标准数据集,也有一些是非传统意义上的数据集(non-traditional datasets),作者相信,这些非传 ...

  5. 机器学习、推荐系统常用数据集

    机器学习.推荐系统有关数据集 在学习中整理了机器学习.推荐系统的一些数据集,希望可以对你有所帮助. 1.UCI 这是加州大学信息与计算机科学学院的一个数据库,包含了100多个数据集. 根据机器学习问题 ...

  6. movielens数据集下载

    movielens数据集下载 主要是原网站下载速度太慢 百度云: 复制这段内容后打开百度网盘App,操作更方便哦. 链接:https://pan.baidu.com/s/1QO99QeUa-GEacl ...

  7. 使用文本卷积神经网络,并使用MovieLens数据集完成电影推荐的任务

    使用文本卷积神经网络,并使用MovieLens数据集完成电影推荐的任务 import pandas as pd from sklearn.model_selection import train_te ...

  8. Movielens数据集详细介绍

     MovieLens数据集包含多个用户对多部电影的评级数据,也包括电影元数据信息和用户属性信息.下载地址为:http://files.grouplens.org/datasets/movielens/ ...

  9. 【推荐系统】基于MovieLens数据集实现的协同过滤算法

    利用用户行为数据 如何了解一个人呢? 通过用户留下的文字和行为了解用户兴趣和需求. 实现个性化推荐的最理想情况是用户在注册的时候主动告知其喜欢什么. 3个缺点: 现在的自然语言理解技术很难理解用户用来 ...

  10. movielens数据集搭建电影推荐系统(CB、CF、HOT)

    代码参考我已上传github: https://github.com/lonngxiang/movielens_recommendation 主要是通过基于电影内容(CB)的相似.用户电影协同过滤(C ...

最新文章

  1. Pycharm ipynb
  2. 自定义ImageView系列
  3. axis2 默认端口_使用axis2创建webservice
  4. python保存数据_python-从数据存储区下载数据
  5. Red Hat Enterprise Linux 8.0 安装(全网最详细版)
  6. jquery form表单序列化,并ajax实现提交后台
  7. 直播回顾 丨TBase多中心多活与高可用方案实践
  8. 相册视频制作APP有什么推荐?看这里!轻松把照片做成视频
  9. HTML5之HTML+CSS3技术介绍
  10. BootStrap4登录表单验证示例
  11. 大学生提高计算机应用能力,大学生计算机应用能力的培养
  12. 神策军丨心中不留退路,才能全力以赴
  13. python命令行视频转字符(抖音同款)
  14. SMC 缸阀匹配气动系统选型程序
  15. hpp文件和h文件有什么区别
  16. 暴雪服务器遭大规模DDoS攻击 相关分析后续出台
  17. 高仿百思不得姐(最新版4.5.6)
  18. Ubuntu 代理上网设置
  19. 转:《音响世界》十年音响示范唱片
  20. (一)瑞芯微RK3568介绍

热门文章

  1. HFSS----微带天线设计实例之模型分析优化
  2. 现控笔记(六)线性定常系统综合
  3. 完整阅读 何凯明最新一作:Masked Autoencoders Are Scalable Vision Learners
  4. 1+5T LineageOS 谷歌相机 相关处理和链接
  5. CPK的概念及其算法
  6. 实战OpenPose项目1:开篇使用文档
  7. 51单片机学习笔记(清翔版)(23)——红外通讯
  8. 软考中级软件设计师备考详细资料
  9. 华为盒子EC6108V9/V9U/V92/V97-HI3798MV100(免拆机-通刷固件)卡刷固件及教程
  10. Java|二叉树基础详解