代码之家  ›  专栏  ›  技术社区  ›  Stepan Yakovenko

如何在spark mlib中设置ALS推荐程序的起点?

  •  0
  • Stepan Yakovenko  · 技术社区  · 6 年前

    我正在使用此代码获取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 回复  |  直到 6 年前
        1
  •  0
  •   Matko Soric    6 年前

    如果您想节省时间并在每次运行应用程序时跳过培训步骤,只需使用以下命令保存经过培训的als:

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

    并将其加载到另一个脚本中。

    更多信息请点击此处: https://spark.apache.org/docs/2.2.0/mllib-collaborative-filtering.html

    推荐文章