我们如何在PySpark中获得十大推荐产品。我知道有一些方法,例如recommendedProducts为单个用户推荐产品,而且预测全部用于预测{user,item}对的评级。但是,我能为所有用户输出每个用户的前10个项目吗?
答案 0 :(得分:5)
我编写了这个函数,它通过分区将用户功能和产品功能相乘,然后分配,然后由用户获得每个产品的评级,并通过评级对其进行排序,并输出8个推荐产品的列表。
Uncaught Error: Invariant Violation: onlyChild must be passed a children with exactly one child.
答案 1 :(得分:4)
PySpark> = 1.6.0提供MatrixFactorizationModel.recommendProductsForUsers:
>> model.recommendProductsForUsers(3).take(2)
[(1,
(Rating(user=1, product=2975, rating=0.003626774788608227),
Rating(user=1, product=1322, rating=0.002494393082165332),
Rating(user=1, product=8746, rating=0.002176665942528324))),
(2,
(Rating(user=2, product=4060, rating=0.011020947406565042),
Rating(user=2, product=2332, rating=0.009479319983658458),
Rating(user=2, product=1979, rating=0.004587168057824856)))]