>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()
> >
> >
>

Reply via email to