я следовал за руководство, данное в ссылке http://ampcamp.berkeley.edu/big-data-mini-course/movie-recommendation-with-mllib.htmlСпарк 2,0 ALS Рекомендация как рекомендовать пользователю
Но это является устаревшим, как он использует искры Mlib RDD подход. Новый Spark 2.0 имеет подход DataFrame. Теперь моя проблема, я получил обновленный код
val ratings = spark.read.textFile("data/mllib/als/sample_movielens_ratings.txt")
.map(parseRating)
.toDF()
val Array(training, test) = ratings.randomSplit(Array(0.8, 0.2))
// Build the recommendation model using ALS on the training data
val als = new ALS()
.setMaxIter(5)
.setRegParam(0.01)
.setUserCol("userId")
.setItemCol("movieId")
.setRatingCol("rating")
val model = als.fit(training)
// Evaluate the model by computing the RMSE on the test data
val predictions = model.transform(test)
Теперь вот проблема, в старом коде модель, которая была получена была MatrixFactorizationModel, сейчас она имеет свою собственную модель (ALSModel)
В MatrixFactorizationModel можно непосредственно сделать
val recommendations = bestModel.get
.predict(userID)
который даст список продуктов с наибольшей вероятностью пользователя симпатия их.
Но теперь нет метода прогнозирования. Любая идея, как рекомендовать список продуктов, данный пользователь Id
Преобразование преобразует только данную таблицу и добавляет значения предсказания для этого конкретного пользователя и фильма, но мне нужен список, так как мы собираемся использовать поток, в который придет пользовательский интерфейс, и мы можем рекомендовать его продукты. Но спасибо за вашу помощь – user2983451
@ user2983451 Добавлен код для рекомендации продукта N для данного пользователя;) –