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

数据集结构

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

  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())

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/967920.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【含开题报告+文档+PPT+源码】基于SpringBoot+Vue旅游管理网站

开题报告 本论文探讨了一款采用现代Web开发技术构建的台州市旅游综合信息与服务平台的设计与实现。该系统基于SpringBoot框架,以其轻量级、快速开发和强大的企业级应用支持能力为核心后端技术支撑,结合Vue.js前端框架及ElementUI组件库,为用…

python-leetcode-寻找峰值

162. 寻找峰值 - 力扣&#xff08;LeetCode&#xff09; class Solution:def findPeakElement(self, nums: List[int]) -> int:left, right 0, len(nums) - 1while left < right:mid left (right - left) // 2if nums[mid] < nums[mid 1]:left mid 1else:right …

2.11学习记录

web——CTFHub XSS学习 学习资料&#xff1a;xss&#xff08;跨站攻击&#xff09; 原理 1.黑客发送带有xss恶意脚本的链接给用户 2.用户点击了恶意链接&#xff0c;访问了目标服务器&#xff08;正常的服务器&#xff09; 3.目标服务器&#xff08;正常的服务器&#xff09…

macOS 上部署 RAGFlow

在 macOS 上从源码部署 RAGFlow-0.14.1&#xff1a;详细指南 一、引言 RAGFlow 作为一款强大的工具&#xff0c;在人工智能领域应用广泛。本文将详细介绍如何在 macOS 系统上从源码部署 RAGFlow 0.14.1 版本&#xff0c;无论是开发人员进行项目实践&#xff0c;还是技术爱好者…

ASP.NET Core WebSocket、SignalR

目录 WebSocket SignalR SignalR的基本使用 WebSocket WebSocket基于TCP协议&#xff0c;支持二进制通信&#xff0c;双工通信。性能和并发能力更强。WebSocket独立于HTTP协议&#xff0c;不过我们一般仍然把WebSocket服务器端部署到Web服务器上&#xff0c;因为可以借助HT…

【蓝桥杯嵌入式】4_key:单击+长按+双击

全部代码网盘自取 链接&#xff1a;https://pan.baidu.com/s/1PX2NCQxnADxYBQx5CsOgPA?pwd3ii2 提取码&#xff1a;3ii2 1、电路图 将4个按键的引脚设置为input&#xff0c;并将初始状态设置为Pull-up&#xff08;上拉输入&#xff09; 为解决按键抖动的问题&#xff0c;我们…

五、AIGC大模型_01大模型基础知识

1、基本概念 1.1 定义 目前&#xff0c;谈到大模型&#xff0c;通常都指的是大语言模型&#xff08;LLMs&#xff0c;即&#xff1a;Large Language Models) 大语言模型是具有大规模参数和复杂计算结构的深度学习模型&#xff0c;通常由深度神经网络构建而成&#xff0c;参数…

微服务与网关

什么是网关 背景 单体项目中&#xff0c;前端只用访问指定的一个端口8080&#xff0c;就可以得到任何想要的数据 微服务项目中&#xff0c;ip是不断变化的&#xff0c;端口是多个的 解决方案&#xff1a;网关 网关&#xff1a;就是网络的关口&#xff0c;负责请求的路由、转发…

Spring Cloud工程完善

目录 完善订单服务 启动类 配置文件 实体类 Controller Service Mapper 测试运行 完成商品服务 启动类 配置文件 实体类 Controller Service Mapper 测试运行 远程调用 需求 实现 1.定义RestTemplate 2.修改order-service中的OrderService 测试运行 Rest…

网络安全网格架构(CSMA) 网络安全框架csf

CSRF:Cross Site Request Forgy&#xff08;跨站请求伪造&#xff09; 用户打开另外一个网站&#xff0c;可以对本网站进行操作或攻击。容易产生传播蠕虫。 CSRF攻击原理&#xff1a; 1、用户先登录A网站 2、A网站确认身份返回用户信息 3、B网站冒充用户信息而不是直接获取用…

数据库系统课设——教务管理系统

目录 前言 一、总体设计 1、知识背景 2、模块介绍&#xff08;需求分析&#xff09; 3、设计步骤 3.1 页面原型设计 3.2 前端页面开发 3.3 后端接口开发 3.4 数据库设计 二、详细设计 1、 系统功能模块划分 2、 数据流程图 3、数据库概念结构设计 4、 数据库逻辑…

论文概览 |《Cities》2024.12 Vol.155(上)

本次给大家整理的是《Cities》杂志2024年12月第152期的论文的题目和摘要&#xff0c;一共包括73篇SCI论文&#xff01;由于论文过多&#xff0c;我们将通过两篇文章进行介绍&#xff0c;本篇文章介绍第1--第30篇论文! 论文1 Digital economy and risk response: How the digita…

FANUC机器人示教器中如何显示或关闭寄存器或IO的注释信息?

FANUC机器人示教器中如何显示或关闭寄存器或IO的注释信息? 如下图所示,我们打开一个子程序,可以看到程序中的寄存器和IO是显示注释信息的, 如果想关闭注释显示的话,怎么设置? 如下图所示,按下下一页的箭头(NEXT键), 如下图所示,点击“编辑”,在弹出的窗口中,选择“…

[QMT量化交易小白入门]-二十二、deepseek+cline+vscode,让小白使用miniQMT量化交易成为可能

本专栏主要是介绍QMT的基础用法&#xff0c;常见函数&#xff0c;写策略的方法&#xff0c;也会分享一些量化交易的思路&#xff0c;大概会写100篇左右。 QMT的相关资料较少&#xff0c;在使用过程中不断的摸索&#xff0c;遇到了一些问题&#xff0c;记录下来和大家一起沟通&a…

快速集成DeepSeek到项目

DeepSeek API-KEY 获取 登录DeekSeek 官网&#xff0c;进入API 开放平台 2. 创建API-KEY 复制API-KEY进行保存&#xff0c;后期API调用使用 项目中集成DeepSeek 这里只展示部分核心代码&#xff0c;具体请查看源码orange-ai-deepseek-biz-starter Slf4j AllArgsConstructo…

关于浏览器缓存的思考

问题情境 开发中要实现一个非原生pdf预览功能&#xff0c;pdf链接放在一个固定的后台地址&#xff0c;当重新上传pdf后&#xff0c;预览pdf仍然是上一次的pdf内容&#xff0c;没有更新为最新的内容。 查看接口返回状态码为 200 OK(from disk cache)&#xff0c; 表示此次pdf返回…

MAAS | Ollama 搭建本地 AI 大模型 deepseekWeb 界面调用

目录 一、环境准备二、安装 Ollama三、下载并部署 DeepSeek 模型四、简单交互五、通过 Web 界面调用大模型 在当今人工智能快速发展的时代&#xff0c;本地部署大语言模型赋予了用户更高的灵活性和个性化服务体验。本文介绍了如何准备环境、安装Ollama框架、下载并部署DeepSeek…

C++ ——从C到C++

1、C的学习方法 &#xff08;1&#xff09;C知识点概念内容比较多&#xff0c;需要反复复习 &#xff08;2&#xff09;偏理论&#xff0c;有的内容不理解&#xff0c;可以先背下来&#xff0c;后续可能会理解更深 &#xff08;3&#xff09;学好编程要多练习&#xff0c;简…

Baklib助力内容中台实施最佳实践的关键要素与成功案例

内容概要 内容中台的实施对于现代企业在数字化转型过程中具有重要的战略意义。内容中台不仅提升内容管理的效率&#xff0c;还能为企业提供更灵活的内容运营能力。在实施过程中&#xff0c;关键在于了解如何构建有效的架构设计、选择适合的技术、以及促进团队协作。尤其是像Ba…

选择 JxBrowser 还是 SWT Browser

当您需要在 SWT 应用程序中显示网页内容时&#xff0c;通常有两种选择&#xff1a;内置的 Browser 小部件或像 JxBrowser 这样的商业选项。 本文将详细剖析两者之间的差异&#xff0c;帮助您根据自身需求做出正确选择。 简而言之 内置的 Browser 是一个简单但功能可靠的小部…