掘金 人工智能 04月03日 10:10
推荐算法实践:movielens数据集
index_new5.html
../../../zaker_core/zaker_tpl_static/wap/tpl_guoji1.html

 

MovieLens数据集是由明尼苏达大学GroupLens研究小组维护的、广泛应用于推荐系统研究的电影评分数据集。它包含用户对电影的评分、标签等信息,是开发和研究电影推荐系统的常用数据源。数据集有多个版本,如MovieLens 100k、1M、10M、20M和最新的25M,提供了不同规模的数据供研究者使用。数据集结构包括用户信息文件、电影信息文件、评分文件和标签文件,方便研究者进行数据分析和模型构建。通过Python和Pandas库,可以方便地解析和使用MovieLens数据集。

🎬 MovieLens数据集由明尼苏达大学GroupLens研究小组维护,主要用于推荐系统研究,是电影推荐系统开发与研究的常用数据源。

📚 数据集包含多个版本,如100k、1M、10M、20M和25M,不同版本的数据集规模和内容有所不同,用户可以根据自己的需求选择合适的版本。

📁 数据集通常包含四个主要文件:用户信息文件(Users.dat)、电影信息文件(Movies.dat)、评分文件(Ratings.dat)和标签文件(Tags.dat)。

👨‍💻 用户信息文件包含用户的基本信息,如用户ID、性别、年龄、职业等。电影信息文件包含电影的唯一标识、标题和类型。评分文件记录了用户对电影的评分和时间戳。标签文件则包含用户为电影添加的标签。

💻 使用Python和Pandas库可以方便地解析和处理MovieLens数据集,代码示例演示了如何读取和显示用户、电影和评分数据的前几行。

MovieLens 数据集介绍

MovieLens 数据集是由明尼苏达大学的GroupLens研究小组维护的一个广泛使用的电影评分数据集,主要用于推荐系统的研究。该数据集包含用户对电影的评分、标签以及其他相关信息,是电影推荐系统开发与研究的常用数据源。

数据集版本

    • MovieLens 数据集有多个版本,不同版本的数据集规模和内容有所不同:• MovieLens 100k 数据集:包含943位用户对1682部电影的100,000条评分数据,评分范围为1到5分。• MovieLens 1M 数据集:包含1000名用户对3900部电影的100万条评分数据。• MovieLens 10M 数据集:包含71,567名用户对10,681部电影的1000万条评分数据。• MovieLens 20M 数据集:包含138,000名用户对27,000部电影的2000万条评分数据。• MovieLens 25M 数据集:是目前最新发布的版本,包含更多的用户和电影数据。

数据集结构

数据集通常包含以下主要文件:

      用户信息文件(Users.dat),包含用户的基本信息,如用户ID、性别、年龄、职业等。
    • UserID:用户唯一标识。从1~6040, 代表了6040个MovieLens用户• Gender:性别(M表示男性,F表示女性)。• Age:用户年龄,分成了7组
      • 1: "Under 18"• 18: "18-24"• 25: "25-34"• 35: "35-44"• 45: "45-49"• 50: "50-55"• 56: "56+"
    • Occupation:用户职业,如学生、教师、工程师等。
      • 0: "other" or not specified• 1: "academic/educator"• 2: "artist"• 3: "clerical/admin"• 4: "college/grad student"• 5: "customer service"• 6: "doctor/health care"• 7: "executive/managerial"• 8: "farmer"• 9: "homemaker"• 10: "K-12 student"• 11: "lawyer"• 12: "programmer"• 13: "retired"• 14: "sales/marketing"• 15: "scientist"• 16: "self-employed"• 17: "technician/engineer"• 18: "tradesman/craftsman"• 19: "unemployed"• 20: "writer"
    • Zip-code:用户所在地区的邮政编码。
      电影信息文件(Movies.dat),MovieID::Title::Genres。
    • MovieID:电影唯一标识。从1~3952, 代表了3952部电影• Title:电影标题,通常包含电影名称和发行年份。• Genres:电影题材由竖线分开, 包括动作喜剧等18种电影类型,如“Action|Comedy”。
      • Action• Adventure• Animation• Children's• Comedy• Crime• Documentary• Drama• Fantasy• Film-Noir• Horror• Musical• Mystery• Romance• Sci-Fi• Thriller• War• Western
      评分文件(Ratings.dat),UserID::MovieID::Rating::Timestamp
    • UserID:用户唯一标识。• MovieID:电影唯一标识。• Rating:用户对电影的评分,通常为1到5的整数。• Timestamp:评分的时间戳,表示自1970年1月1日以来的秒数。
      标签文件(Tags.dat)包含用户为电影添加的标签。
    • UserID:用户唯一标识。• MovieID:电影唯一标识。• Tag:用户为电影添加的标签内容。• Timestamp:标签添加的时间戳。

数据集下载

files.grouplens.org/datasets/mo…
grouplens.org/datasets/mo…

数据集解析

以下是一个基于Python和Pandas库的MovieLens数据集解析代码示例,适用于常见的MovieLens数据集(如ml-100k或ml-1m):

import pandas as pduser_file = 'users.dat'  movie_file = 'movies.dat'  rating_file = 'ratings.dat'  user_columns = ['user_id''gender''age''occupation''zip']movie_columns = ['movie_id''title''genres']rating_columns = ['user_id''movie_id''rating''timestamp']user_df = pd.read_csv(user_file, sep='::', header=None, names=user_columns, engine='python')movie_df = pd.read_csv(movie_file, sep='::', header=None, names=movie_columns, engine='python', encoding='ISO-8859-1')rating_df = pd.read_csv(rating_file, sep='::', header=None, names=rating_columns, engine='python')print("用户数据前几行:")print(user_df.head())print("\n电影数据前几行:")print(movie_df.head())print("\n评分数据前几行:")print(rating_df.head())

Fish AI Reader

Fish AI Reader

AI辅助创作,多种专业模板,深度分析,高质量内容生成。从观点提取到深度思考,FishAI为您提供全方位的创作支持。新版本引入自定义参数,让您的创作更加个性化和精准。

FishAI

FishAI

鱼阅,AI 时代的下一个智能信息助手,助你摆脱信息焦虑

联系邮箱 441953276@qq.com

相关标签

MovieLens 数据集 推荐系统 数据分析
相关文章