Machine learning 我如何预测新用户的产品?协同过滤

Machine learning 我如何预测新用户的产品?协同过滤,machine-learning,bigdata,Machine Learning,Bigdata,您好,这是基于RDD的API的协作过滤示例 但我如何预测新用户?如果我想向新用户推荐产品,我应该怎么做 import org.apache.spark.mllib.recommendation.MatrixFactorizationModel import org.apache.spark.mllib.recommendation.Rating // Load and parse the data val data = sc.textFile("data/mllib/als/test.data

您好,这是基于RDD的API的协作过滤示例
但我如何预测新用户?如果我想向新用户推荐产品,我应该怎么做

import org.apache.spark.mllib.recommendation.MatrixFactorizationModel
import org.apache.spark.mllib.recommendation.Rating

// Load and parse the data
val data = sc.textFile("data/mllib/als/test.data")
val ratings = data.map(_.split(',') match { case Array(user, item, rate) =>
  Rating(user.toInt, item.toInt, rate.toDouble)
})

// Build the recommendation model using ALS
val rank = 10
val numIterations = 10
val model = ALS.train(ratings, rank, numIterations, 0.01)

// Evaluate the model on rating data
val usersProducts = ratings.map { case Rating(user, product, rate) =>
  (user, product)
}
val predictions =
  model.predict(usersProducts).map { case Rating(user, product, rate) =>
    ((user, product), rate)
  }
val ratesAndPreds = ratings.map { case Rating(user, product, rate) =>
  ((user, product), rate)
}.join(predictions)
val MSE = ratesAndPreds.map { case ((user, product), (r1, r2)) =>
  val err = (r1 - r2)
  err * err
}.mean()
println(s"Mean Squared Error = $MSE")

// Save and load model
model.save(sc, "target/tmp/myCollaborativeFilter")
val sameModel = MatrixFactorizationModel.load(sc, "target/tmp/myCollaborativeFilter") 

这是斯卡拉吗?在python中,您将执行
sameModel.predict(testdata)
@Abdirahman是的,它是scala,sameModel.predict(testdata)它在scala中工作谢谢欢迎,很高兴它提供帮助。