本节介绍一下如何搭建自己的模型
搭建自己的预测系统非常简单,使用一个从AlgoBase衍生过来的算法,并且含有estimate方法。
使用内置的user id和item id, 返回预测的评分值r^ui:
import os
from surprise import Reader
from surprise import AlgoBase
from surprise import Dataset
from surprise.model_selection import cross_validate
from surprise import KNNBaseline
class MyOwnAlgorithm(AlgoBase):
def __init__(self): #初始化使用的算法
#AlgoBase.__init__(self)
KNNBaseline.__init__(self)
def estimate(self, u, i): #预测函数
return 3
##读取数据
#指定文件的路径
file_path = os.path.expanduser('ml-100k/u.data')
#告诉文本阅读器,文本的格式是什么样子的
reader = Reader(line_format='user item rating timestamp', sep='\t')
#加载数据
data = Dataset.load_from_file(file_path, reader=reader)
algo = MyOwnAlgorithm()
cross_validate(algo, data, verbose = True)
Evaluating RMSE