Как установить начальную точку для рекомендации ALS в spark mlib? - PullRequest
0 голосов
/ 22 декабря 2018

Я использую этот код для получения рекомендаций ALS:

SparkSession spark = SparkSession
        .builder()
        .appName("SomeAppName")
        .config("spark.master", "local")
        .getOrCreate();
JavaRDD<Rating> ratingsRDD = spark
        .read().textFile(args[0]).javaRDD()
        .map(Rating::parseRating);
Dataset<Row> ratings = spark.createDataFrame(ratingsRDD, Rating.class);
ALS als = new ALS()
        .setMaxIter(1)
        .setRegParam(0.01)
        .setUserCol("userId")
        .setItemCol("movieId")
        .setRatingCol("rating");
ALSModel model = als.fit(ratings);
model.setColdStartStrategy("drop");
Dataset<Row> rowDataset = model.recommendForAllUsers(50);

Я хочу повторно использовать векторы функций для пользователей и элементов из предыдущего запуска.Как я могу установить эти значения в качестве начальной точки?

1 Ответ

0 голосов
/ 26 декабря 2018

Если вы хотите сэкономить время и пропустить шаг обучения при каждом запуске приложения, вы можете просто сохранить обученные файлы с помощью:

model.save(jsc.sc(), "saved_model");

и загрузить его в другой скрипт.

Подробнее здесь: https://spark.apache.org/docs/2.2.0/mllib-collaborative-filtering.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...