我正在按照文档示例构建一个推荐系统,我正在创建一个很好的构造函数
val als = new ALS()
.setMaxIter(maxIterations)
.setRegParam(regressionParam)
.setUserCol("user_id")
.setItemCol("item_id")
.setRatingCol("rating")
val model = als.fit(trainData)
val predictions = model.transform(testData)
println("predictions"+predictions.show(80))
val evaluator = new RegressionEvaluator()
.setMetricName("rmse")
.setLabelCol("rating")
.setPredictionCol("prediction")
val rmse = evaluator.evaluate(predictions)
println(s"Root-mean-square error = $rmse")
predictions
我训练模型,设置一切,但我这里的主要问题是,我可以预测与测试数据返回预测因子为每个项目id我传递给它,但我实际上需要的是,该模型可以建议我从一个用户的项目id没有预测一个项目id可以通过添加一个预测列合适。org.apache.spark.ml.recommendation.als能做到这一点吗?
1条答案
按热度按时间vx6bjr1n1#
当前,要为user\u id=1的用户推荐10个热门项目,您必须执行以下操作:
在未来的spark版本中,它将以更加用户友好的方式实现