2016-12-28 50 views
1

我试图使用trainImplicit根据购买历史记录制作推荐系统。我的输入是域[1,+ inf)(观看和购买的总和)。了解Spark MLlib ALS.trainImplicit输入格式

因此,我的输入RDD的元素如下所示:[(user_id,item_id),rating] --> [(123,5564),6] - 用户(id = 123)与项目(id = 5564)交互6次。

我应该添加到我的RDD元素,例如[(user_id,item_id),rating] --> [(123,2222),0],这意味着给定的用户从未与给定的项目交互过,或者ALS.implicitTrain会隐式地执行此操作吗?

回答

0

它不是必要的(对于隐式),不应该这样做(对于显式),所以在这种情况下,实际上只有低音数据。

+0

您的意思是说,训练数据集的模型为零的模型会给出与模拟训练数据集的模型大致相同的建议而不是零?或者这些额外的零会影响结果? – Masha

+0

在暗示它不应该影响结果,明确它会显着影响结果。 – user7337271