我一直在使用我自己的数据在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:调用o629.trainImplicitALSModel时发生错误。 跟踪:py4j.Py4JException:方法trainImplicitALSModel([class org.apache.spark.api.java.JavaRDD,类java.lang.Integer,类 java.lang.Integer,类java.lang.Double,类java.lang.Integer, class java.lang.Integer,类java.lang.Boolean,null])没有 存在
PySpark中的alpha限制是否<1?
答案 0 :(得分:4)
ALS.trainImplicit(ratings, rank, numIterations, alpha=100.0)
与
不同ALS.trainImplicit(ratings, rank, numIterations, alpha=100)
后者由于类型不匹配而无效。换句话说,类型很重要。 Python float
为java.lang.Double
,Python int
表示为java.lang.Integer
。