Can the alpha parameter of the ALS.trainImplicit() be greater than 1?
我已经在http://spark.apache.org/docs/latest/mllib-collaborative-filtering.html#explicit-vs-implicit-feedback上使用我自己的数据测试了示例代码。
当我将alpha设置为大于1时,如
上的原始论文所建议的那样
http://ieeexplore.ieee.org/xpl/articleDetails.jsp?arnumber=4781121
我得到了错误
Py4JError: An error occurred while calling o629.trainImplicitALSModel.
Trace: py4j.Py4JException: Method trainImplicitALSModel([class
org.apache.spark.api.java.JavaRDD, class java.lang.Integer, class
java.lang.Integer, class java.lang.Double, class java.lang.Integer,
class java.lang.Integer, class java.lang.Boolean, null]) does not
exist
PySpark <1中的alpha限制是吗?
除了Pascal后端已经强制执行的限制之外,
PySpark并没有强制执行任何限制,但是类型很重要。这意味着:
1 | ALS.trainImplicit(ratings, rank, numIterations, alpha=100.0) |
与
不同
1 | ALS.trainImplicit(ratings, rank, numIterations, alpha=100) |
,由于类型不匹配,后一个无效。换句话说,类型很重要。 Python