我正在使用此代码获取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);
我想为上次运行的用户和项目重用特征向量。如何将这些值设置为初始点?
答案 0 :(得分:0)
如果您想节省时间并在每次运行该应用程序时跳过培训步骤,则可以使用以下方法简单地保存经过培训的同伴:
model.save(jsc.sc(), "saved_model");
并将其加载到另一个脚本中。
更多信息在这里: https://spark.apache.org/docs/2.2.0/mllib-collaborative-filtering.html