apachespark-Mllib ALS模型预测错误



尝试在scala中编译时,model.predict方法MatrixFactorizationModel出现错误。

 val usersProducts = ratings.map{ case Rating(user, product, rate) => (user, product,rate) }
 val predictions =   model.predict(usersProducts).map{ case Rating(user, product, rate) => ((user, product), rate)}

错误:方法predict的参数不足:(user:Int,product:Int)Double。

MatrixFactorizationModel.predict()采用(user, product)对的RDD或单个用户和产品对作为两个输入参数。请查看API文档。

在您的代码中,您应该将其更改为:

val usersProducts = ratings.map{ case Rating(user, product, rate) => (user, product) }