我正在尝试使用 Spark MLlib 构建隐式反馈推荐系统。我首先在此链接https://databricks-training.s3.amazonaws.com/movie-recommendation-with-mllib.html中运行有关 MovieLens 数据集的教程中的代码。代码运行成功。然后我运行此链接中的代码https://spark.apache.org/docs/1.1.0/mllib-collaborative-filtering.html#explicit-vs-implicit-feedback带有用于明确反馈的测试数据集。它运行良好。然后我给出我的数据集,其形式为 UserID、MovieID、评级。由于它是隐式反馈,因此评分将为 1 或 0。我在第二个链接中运行相同的代码,但使用 model = ALS.trainImplicit(ratings, rank, numIterations, alpha = 0.01)。我收到以下错误:spark-1.1.0/python/pyspark/rdd.py",第 760 行,在 reduce 中 return reduce(f, vals) TypeError: reduce() of empty sequence with no initial value。
我看到第二个链接中编写的代码中没有 vals 参数。错误来自哪里,我们如何解决?