尝试在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) }