# coding=utf-8
# @Time : 2019/12/4 20:21
# @Author : Z
# @Email : S
# @File : UserBasedCF.py
#MovieLens电影推荐系统
import math
#定义基于用户得协同过滤算法类
class UserBasedCF:
#初始化对象
def __init__(self,train_file,test_file):
#训练数据
self.train_file=train_file
#测试数据
self.test_file=test_file
#读取数据
self.readData()
#数据读取函数
def readData(self):
#读取文件,生成用户-物品的评分表和测试集
#用户-物品的评分表
#训练集
#dict()函数用于创建一个字典。
self.train=dict()
#打开文件,按行读取训练数据
for line in open(self.train_file):
#获得用户‘物品、评分数据,丢弃时间戳数据
user,item,score,_ = line.strip().split("\t")
#用户-物品评分矩阵
self.train.setdefault(user,{
})
#分数赋值
self.train[user][item]=int(score)
#print(self.train[user][item])
#测试集
self
MovieLens电影推荐系统
最新推荐文章于 2025-06-09 09:20:12 发布