我对 FactorizationRecommender 的预测功能有疑问。
在我的支配下,我有一个包含用户项目对的大型数据集(以及每对的二进制评级)。需要注意的重要一点是,用户并没有与所有项目进行交互(评分矩阵非常稀疏)。
随后,我从数据集中删除了一个用户的所有评分(我选择他/她作为冷用户)。在所有剩余的用户项目对上,我训练了一个矩阵分解模型 ( factorization_recommender.create(...,binary_target=True)
)。
现在,当我向模型展示冷用户评分的一小部分时,我想对冷用户的剩余评分进行预测(例如,我显示冷用户评分的模型 10 并希望计算所有其他用户的预测评分项目)。接下来,我只想为冷用户计算预测的 RMSE。
我的问题有两个。首先,我并不完全清楚将哪些参数传递给FactorizationRecommender.predict
函数。我想向模型显示的用户项目对(和二元评级)的分数(例如,10 个评级),这些应该是new_observation_data
?我的输入应该是dataset
什么?初始训练数据集?
其次,我的问题是该FactorizationRecommender.predict
功能如何精确工作(后台发生了什么)?您如何对未包含在初始训练数据集中的用户进行预测?由于分解的潜在因素不是为这个用户构建的,他/她的预测是如何做出的?
我当前的 GraphLab Create 版本是 v1.10.1。
谢谢你的帮助!