推荐算法实践:movielens数据集

devtools/2025/2/13 8:37:28/

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 数据集:是目前最新发布的版本,包含更多的用户和电影数据。

数据集结构

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

  1. 用户信息文件(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:用户所在地区的邮政编码。

  1. 电影信息文件(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
  1. 评分文件(Ratings.dat),UserID::MovieID::Rating::Timestamp
  • UserID:用户唯一标识。
  • MovieID:电影唯一标识。
  • Rating:用户对电影的评分,通常为1到5的整数。
  • Timestamp:评分的时间戳,表示自1970年1月1日以来的秒数。
  1. 标签文件(Tags.dat)包含用户为电影添加的标签。
  • UserID:用户唯一标识。
  • MovieID:电影唯一标识。
  • Tag:用户为电影添加的标签内容。
  • Timestamp:标签添加的时间戳。

数据集下载

https://files.grouplens.org/datasets/movielens/
https://grouplens.org/datasets/movielens/

数据集解析

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

import pandas as pd# 定义数据集文件路径
user_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())

http://www.ppmy.cn/devtools/158425.html

相关文章

FPGA简介|结构、组成和应用

Field Programmable Gate Arrays(FPGA,现场可编程逻辑门阵列),是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物, 是作为专用集成电路(ASIC)领域中的一种半定制电路而出现的&#xff0c…

小蓝相机启动阶段trace学习笔记

和你一起终身学习,这里是程序员Android 经典好文推荐,通过阅读本文,您将收获以下知识点: 一、启动阶段拆解概览 1. 启动阶段拆解表格 Camera 启动阶段拆机表格 S0 :System deliverInputEvent > activityStart 开始 S1 :Camera APP Camera…

singleTaskAndroid的Activity启动模式知识点总结

一. 前提知识 1.1. 任务栈知识 二. Activity启动模式的学习 2.1 standard 2.2 singleTop 2.3.singleTask 2.4.singleInstance 引言: Activity作为四大组件之一,也可以说Activity是其中最重要的一个组件,其负责调节APP的视图&#xff…

缓存组件<keep-alive>

缓存组件<keep-alive> 1.组件作用 组件, 默认会缓存内部的所有组件实例&#xff0c;当组件需要缓存时首先考虑使用此组件。 2.使用场景 场景1&#xff1a;tab切换时&#xff0c;对应的组件保持原状态&#xff0c;使用keep-alive组件 使用&#xff1a;KeepAlive | Vu…

wordpressAI工具,已接入Deepseek 支持自动生成文章、生成图片、生成长尾关键词、前端AI窗口互动、批量采集等

基于关键词或现有内容生成SEO优化的文章&#xff0c;支持多种AI服务&#xff08;如OpenAI、百度文心一言、智谱AI等&#xff09;&#xff0c;并提供定时任务、内容采集、关键词生成等功能。 核心功能 文章生成 关键词生成&#xff1a;根据输入的关键词生成高质量文章。 内容…

设计模式-模版方法

一、定义 模版方法模式在一个方法中定义一个算法的骨架&#xff0c;而将一些步骤延迟到子类中。模版方法使得子类可以在不改变算法结构的情况下&#xff0c;重新定义算法中的某些步骤。 模版方法模式是很常见且很有用的一种模式&#xff0c;理解起来也容易。其优点就是保护了…

网络安全设备异构要求 网络安全设备硬件

导航目录&#xff1a; 一、网络的设备 1. 网络传输介质互联设备2. 物理层互联设备3. 数据链路层互联设备4. 网络层互联设备5. 应用层互联设备 二、网络的传输介质 1. 有线介质2. 无线介质 三、组建网络 一、网络的设备 1. 网络传输介质互联设备 网络传输介质互联设备包括…

比亚迪“璇玑架构”全面接入DeepSeek

比亚迪“璇玑架构” - 架构背景与发布&#xff1a;2024年1月16日&#xff0c;在比亚迪梦想日上&#xff0c;比亚迪发布了新能源汽车智能化发展全新战略——整车智能&#xff0c;其中便包括璇玑架构。 - 架构组成&#xff1a;璇玑架构由一脑&#xff08;中央大脑&#xff09;、…