不适用于Spark 1.5.0的推荐产品

2024-04-19 16:01:46 发布

您现在位置:Python中文网/ 问答频道 /正文

考虑到以下因素:

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)

我想计算每个用户的前k个产品。一般来说,用户和产品可能很多,创建RDD来与推荐的产品一起使用会非常昂贵。在

根据Spark version 1.5.0recommendProductsForUsers应该做的工作。但是,我得到了以下错误:

^{pr2}$

事实上,在列出matrixFactorizationModel的方法时,recommendProductsForUsers不会出现:

print dir(model)
['__class__', '__del__', '__delattr__', '__dict__', '__doc__', '__format__', '__getattribute__', '__hash__', '__init__', '__module__', '__new__', '__reduce__', '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', '__subclasshook__', '__weakref__', '_java_loader_class', '_java_model', '_load_java', '_sc', 'call', 'load', 'predict', 'predictAll', 'productFeatures', 'rank', 'recommendProducts', 'recommendUsers', 'save', 'userFeatures']

Tags: 用户fromimportmodel产品javaclasspyspark
1条回答
网友
1楼 · 发布于 2024-04-19 16:01:46

你看的文件不对。一个简单的事实是,某些操作是在Scala或javaapi中实现的,这并不意味着它暴露在PySpark中。如果您选中PySpark 1.5 API docs,您将看到它没有提供请求的方法。在

在pyspark1.6中引入了^{}和{a3}。在

相关问题 更多 >