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

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscr...@spark.apache.org
For additional commands, e-mail: user-h...@spark.apache.org

Reply via email to