【发布时间】:2020-07-27 17:18:53
【问题描述】:
我正在使用 pyspark (spark 2.4.4) 我正在尝试对 ALS 推荐模型使用 ColdStartStrategy 选项,但这对我不起作用。我试过这个(来自 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() 没有参数
我还尝试使用 setter 创建一个空对象,如下所示:
als = ALS()
als.setColdStartStrategy('drop')
这是我遇到的错误:
AttributeError: 'ALS' 对象没有属性 '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) 也遇到了同样的问题。
我也尝试训练模型,然后为测试阶段设置冷启动策略参数
model = ALS.train(rdd_train, rank, numIterations)
但我也找不到这里提到的 setParams 方法:https://spark.apache.org/docs/latest/api/python/_modules/pyspark/ml/recommendation.html
【问题讨论】:
-
您可以按照文档链接中提供的示例进行操作吗?
-
感谢 @CPak 的响应,我什至无法将参数传输到 ALS 构造函数,正如我在上面的错误中提到的那样(TypeError: object() 没有参数)
标签: python apache-spark pyspark apache-spark-mllib