python - ALS.trainImplicit() 的 alpha 参数可以大于 1 吗?

标签 python apache-spark machine-learning pyspark recommendation-engine

我一直在测试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 中 alpha 的限制是否 <1?

最佳答案

除了 Scala 后端已经强制执行的限制之外,PySpark 不会强制执行任何限制,但类型很重要。这意味着:

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

关于python - ALS.trainImplicit() 的 alpha 参数可以大于 1 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36227111/

相关文章:

python - 从 Pandas 数据框中的整个列中删除某些字符串

java - Thrift、Protocol Buffers、JSON、EJB、其他的性能比较?

apache-spark - 在数据帧中使用 dropDuplicates 会导致分区号发生变化

machine-learning - 训练人工神经网络时验证数据去哪里?

python - 有没有办法在 python 中的 KeyboardInterrupt 上永不退出?

python - 使用数组时,出现此错误 : TypeError: an integer is required

apache-spark - 在 yarn 模式下提交作业到 Spark 时无法连接到 Spark 驱动程序

apache-spark - Spark 历史服务器按用户 ID 或时间过滤作业

machine-learning - Caffe输出层数精度

machine-learning - 创建自学习情感词典