python处理Movielens数据集(1M)

本文介绍了如何使用Python处理Movielens的1M数据集,包括设置常量、初始化评分矩阵、随机打乱数据、划分测试集和训练集,以及将评分矩阵转换为DataFrame格式进行分析。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

导入需要的包

import numpy as np
import pandas as pd

设置常数及参数。用户数、物品数与评分总数可以查看文件或使用python读取数据获得。

n_users = 6040 # 用户的总数
n_items = 3952 # 物品的总数
n_all_ratings = 1000209 # 总的评价数
train_ratio = 0.9 # 训练集所占比例 

初始化所有用户的评分矩阵与隐式评分矩阵,以及测试集与训练集的评分矩阵与隐式评分矩阵

ratings = np.zeros((n_users,n_items)) # 用户-物品评分矩阵
mask_ratings = np.zeros((n_users,n_items)) # 用户-物品隐式评分矩阵

train_ratings = np.zeros((n_users,n_items)) # 训练集用户-物品评分矩阵
test_ratings = np.zeros((n_users,n_items)) # 测试集用户-物品评分矩阵

train_mask_ratings = np.zeros((n_users,n_items)) #训练集用户-物品隐式评分矩阵
test_mask_ratings = np.zeros((n_users,n_items)) #测试集用户-物品隐式评分矩阵

将评分顺序随机打乱,划分测试集与训练集。

random_perm_idx = np.random.permutation(n_all_ratings) # 返回一个随机排列的序列,目的是打乱评分顺序
train_idx = random_perm_idx[0:int(n_all_ratings*train_ratio)] # 训练集数据索引
test_idx = random_perm_idx[int(n_all_ratings*train_ratio):] # 测试集数据索引

获得训练集与测试集的数量


                
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值