from surprise.model_selection import cross_validate
cross_validate(algo,dataset,measures=['RMSE', 'MAE'],cv=5, verbose=False, n_jobs=-1)
但是,当我这样做时:(请注意,训练集是在此处通过cross_validate而不是整个数据集传递的)
from surprise.model_selection import train_test_split trainset, testset = train_test_split(dataset, test_size=test_size) cross_validate(algo, trainset, measures=['RMSE', 'MAE'],cv=5, verbose=False, n_jobs=-1)
它出现以下错误:
AttributeError: 'Trainset' object has no attribute 'raw_ratings'
我抬起头来,Surprise documentation说Trainset对象与数据集对象不同,这很有意义。但是,文档没有说明如何将训练集转换为数据集。
我的问题是:1.是否可以将Surprise Trainset转换为Surprise Dataset?2.如果不是,那么对整个数据集进行训练测试并交叉验证的正确方法是什么?