我正在尝试在 Spark 中实现的协作过滤算法,并遇到以下问题:
假设我用以下数据训练模型:
u1|p1|3
u1|p2|3
u2|p1|2
u2|p2|3
现在,如果我用以下数据测试它:
u1|p1|1
u3|p1|2
u3|p2|3
我从来没有看到用户“u3”的任何评分,大概是因为该用户没有出现在训练数据中。这是因为冷启动问题吗?我的印象是这个问题只适用于新产品。在这种情况下,我会期待对“u3”的预测,因为训练数据中的“u1”和“u2”具有与“u3”相似的评级信息。这是基于模型和基于内存的协同过滤之间的区别吗?