无法将coldStartStrategy设置为pyspark.mllib.Recommension.ALS模型

2024-05-15 09:48:20 发布

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

我正在使用pyspark(spark 2.4.4)我正在尝试将coldStartStrategy选项用于ALS推荐模型,但这对我不起作用。我尝试了这个(从2.4.0文档:https://spark.apache.org/docs/2.4.0/api/python/pyspark.ml.html#pyspark.ml.recommendation.ALS):

from pyspark.mllib.recommendation import ALS
als = ALS(maxIter=5, regParam=0.01,coldStartStrategy="drop")

这是我的错误:

TypeError: object() takes no parameters

我还尝试创建一个空对象,使用setter如下所示:

als = ALS()
als.setColdStartStrategy('drop')

这是我的错误:

AttributeError: 'ALS' object has no attribute 'setColdStartStrategy'

ALS构造函数不采用任何参数,ALS类只有三种方法:mor、train和trainImplicit,没有人采用coldStartStrategy参数。即使是ALS类的实例,我也浏览了她的所有方法,而且没有人使用这个参数。 我还浏览了2.2.0 spark文档(https://spark.apache.org/docs/2.2.0/api/python/pyspark.ml.html#pyspark.ml.recommendation.ALS),发现了同样的问题

我还尝试训练模型,然后为测试阶段设置coldStartStrategy参数

model = ALS.train(rdd_train, rank, numIterations)

但是我也不能像这里提到的那样使用setParams方法:https://spark.apache.org/docs/latest/api/python/_modules/pyspark/ml/recommendation.html


Tags: 方法httpsorgapidocs参数apachehtml
1条回答
网友
1楼 · 发布于 2024-05-15 09:48:20

问题是由导入引起的,从pyspark.mllib导入的ALS模型似乎与从pyspark.ml导入的ALS不同,通过更改导入,我修复了此错误。 结论:我只是从以下方面改变:

from pyspark.mllib.recommendation import ALS

 from pyspark.ml.recommendation import ALS

相关问题 更多 >