Surprise入门使用
官网:https://yiyibooks.cn/sorakunnn/surprisesurprise-v1.0.5/surprise-v1.0.5/index.html
1. 使用movielens数据集
from surprise import SVD, KNNWithMeans, Reader
import os
from surprise import Dataset
from surprise.model_selection import cross_validate
# 默认载入movielens数据集
# data = Dataset.load_builtin('ml-100k')
# 载入自己数据集的方法
# 把path中包含的"~"和"~user"转换成用户目录
filepah = os.path.expanduser('~/.surprise_data/ml-100k/ml-100k/u.data')
reader = Reader(line_format='user item rating timestamp', sep='\t')
data = Dataset.load_from_file(file_path=filepah, reader=reader)
# 试一把SVD矩阵分解
algo = SVD()
# 也可以试试别的算法
# algo = KNNWithMeans()
# 在数据集上测试一下效果并打印, 3折交叉验证
cross_validate(algo, data, measures=['RMSE', 'MAE'], cv=3, verbose=True)