鉴于以下内容:
SELECT NULL
我想为每个用户计算前k个产品。一般来说,用户和产品可能很多,创建一个与推荐产品一起使用的RDD太昂贵了。
根据Spark version 1.5.0 from pyspark import SparkContext, SparkConf
from pyspark.mllib.recommendation import ALS, Rating
r1 = (1, 1, 1.0)
r2 = (1, 2, 2.0)
r3 = (2, 1, 2.0)
ratings = sc.parallelize([r1, r2, r3])
model = ALS.trainImplicit(ratings, 1, seed=10)
res = model.recommendProductsForUsers(2)
应该做的工作。但是,我收到以下错误:
recommendProductsForUsers
事实上,在列出matrixFactorizationModel的方法时,---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-8-c65e6875ea5b> in <module>()
7 model = ALS.trainImplicit(ratings, 1, seed=10)
8
----> 9 res = model.recommendProductsForUsers(2)
AttributeError: 'MatrixFactorizationModel' object has no attribute 'recommendProductsForUsers'
没有出现:
recommendProductsForUsers
答案 0 :(得分:0)
您正在查看错误的文档。一个简单的事实是某些操作是在Scala或Java API中实现的,并不意味着它暴露给PySpark。如果您选中PySpark 1.5 API docs,则表示它未提供所请求的方法。
已使用recommendUsersForProducts
在PySpark 1.6中引入了{p> recommendProductsForUsers
和SPARK-10535。