>the "new ALS()...run()" form is underneath both of the first two.
I am not sure what you mean by underneath, so basically the mllib ALS()...run() does the same thing as the mllib ALS train() ? On Wed, Jul 15, 2015 at 2:02 PM, Sean Owen <so...@cloudera.com> wrote: > The first two examples are from the .mllib API. Really, the "new > ALS()...run()" form is underneath both of the first two. In the second > case, you're calling a convenience method that calls something similar > to the first example. > > The second example is from the new .ml "pipelines" API. Similar ideas, > but a different API. > > On Wed, Jul 15, 2015 at 9:55 PM, Carol McDonald <cmcdon...@maprtech.com> > wrote: > > In the Spark mllib examples MovieLensALS.scala ALS run is used, however > in > > the movie recommendation with mllib tutorial ALS train is used , What is > the > > difference, when should you use one versus the other > > > > val model = new ALS() > > .setRank(params.rank) > > .setIterations(params.numIterations) > > .setLambda(params.lambda) > > .setImplicitPrefs(params.implicitPrefs) > > .setUserBlocks(params.numUserBlocks) > > .setProductBlocks(params.numProductBlocks) > > .run(training) > > > > > > val model = ALS.train(training, rank, numIter, lambda) > > > > Also in org.apache.spark.examples.ml , fit and transform is used. > Which one > > do you recommend using ? > > > > val als = new ALS() > > .setUserCol("userId") > > .setItemCol("movieId") > > .setRank(params.rank) > > .setMaxIter(params.maxIter) > > .setRegParam(params.regParam) > > .setNumBlocks(params.numBlocks) > > > > val model = als.fit(training.toDF()) > > > > val predictions = model.transform(test.toDF()).cache() > > > > >