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