最近在学习基于物品的协同过滤的推荐算法,是基于评分预测的,数据用了movielens,发现大部分网上的实现都划分了测试集和训练集,我目前的理解是这样的
首先不知道以上理解有没有错误?其次,如果要应用到实际推荐中,也就是要给所有user-movie都预测评分,是不是直接使用训练集得出的相似度矩阵来预测整个数据集即可? 测试集是否仅仅是为了评估算法性能的呢
上面的理解没有问题,训练集可以预测user对movie的评分,然后测试集验证结果。
实际推荐系统中不太会去计算user对每个movie的得分,一方面由于矩阵太大,另一方面user和movie一直都是增加的,一直更新全部关系成本高且收益小。简单的方法可以根据cf计算movie与movie的相似度,然后根据user对movie的兴趣进行相似movie的召回