一、代码
from surprise import Dataset
from surprise import Reader
from surprise import SlopeOne
import pandas as pd
# 数据读取
reader = Reader(line_format='user item rating timestamp', sep=',', skip_lines=1)
data = Dataset.load_from_file('./ratings.csv', reader=reader)
train_set = data.build_full_trainset()
# 使用SlopeOne算法
algo = SlopeOne()
algo.fit(train_set)
# 对指定用户和商品进行评分预测
uid = str(196)
iid = str(302)
pred = algo.predict(uid, iid, r_ui=4, verbose=True)
二、运行结果
user: 196 item: 302 r_ui = 4.00 est = 4.32 {'was_impossible': False}