Repository: spark
Updated Branches:
  refs/heads/branch-2.2 57c87cf2d -> b8d37ac37


[SPARK-20553][ML][PYSPARK] Update ALS examples with recommend-all methods

Update ALS examples illustrating use of "recommendForAllX" methods.

## How was this patch tested?
Built and ran examples locally

Author: Nick Pentreath <ni...@za.ibm.com>

Closes #17950 from MLnick/SPARK-20553-update-als-examples.

(cherry picked from commit 6af7b43b34942c662122e3905b0724b2dd40a63f)
Signed-off-by: Nick Pentreath <ni...@za.ibm.com>


Project: http://git-wip-us.apache.org/repos/asf/spark/repo
Commit: http://git-wip-us.apache.org/repos/asf/spark/commit/b8d37ac3
Tree: http://git-wip-us.apache.org/repos/asf/spark/tree/b8d37ac3
Diff: http://git-wip-us.apache.org/repos/asf/spark/diff/b8d37ac3

Branch: refs/heads/branch-2.2
Commit: b8d37ac37bcd1ecf8b5f17233bce6b5b39ed2fd0
Parents: 57c87cf
Author: Nick Pentreath <ni...@za.ibm.com>
Authored: Tue May 16 10:54:42 2017 +0200
Committer: Nick Pentreath <ni...@za.ibm.com>
Committed: Tue May 16 10:55:01 2017 +0200

----------------------------------------------------------------------
 .../java/org/apache/spark/examples/ml/JavaALSExample.java    | 8 ++++++++
 examples/src/main/python/ml/als_example.py                   | 8 ++++++++
 .../main/scala/org/apache/spark/examples/ml/ALSExample.scala | 7 +++++++
 3 files changed, 23 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/spark/blob/b8d37ac3/examples/src/main/java/org/apache/spark/examples/ml/JavaALSExample.java
----------------------------------------------------------------------
diff --git 
a/examples/src/main/java/org/apache/spark/examples/ml/JavaALSExample.java 
b/examples/src/main/java/org/apache/spark/examples/ml/JavaALSExample.java
index 81970b7..60ef03d 100644
--- a/examples/src/main/java/org/apache/spark/examples/ml/JavaALSExample.java
+++ b/examples/src/main/java/org/apache/spark/examples/ml/JavaALSExample.java
@@ -113,7 +113,15 @@ public class JavaALSExample {
       .setPredictionCol("prediction");
     Double rmse = evaluator.evaluate(predictions);
     System.out.println("Root-mean-square error = " + rmse);
+
+    // Generate top 10 movie recommendations for each user
+    Dataset<Row> userRecs = model.recommendForAllUsers(10);
+    // Generate top 10 user recommendations for each movie
+    Dataset<Row> movieRecs = model.recommendForAllItems(10);
     // $example off$
+    userRecs.show();
+    movieRecs.show();
+    
     spark.stop();
   }
 }

http://git-wip-us.apache.org/repos/asf/spark/blob/b8d37ac3/examples/src/main/python/ml/als_example.py
----------------------------------------------------------------------
diff --git a/examples/src/main/python/ml/als_example.py 
b/examples/src/main/python/ml/als_example.py
index 2e7214e..1672d55 100644
--- a/examples/src/main/python/ml/als_example.py
+++ b/examples/src/main/python/ml/als_example.py
@@ -55,5 +55,13 @@ if __name__ == "__main__":
                                     predictionCol="prediction")
     rmse = evaluator.evaluate(predictions)
     print("Root-mean-square error = " + str(rmse))
+
+    # Generate top 10 movie recommendations for each user
+    userRecs = model.recommendForAllUsers(10)
+    # Generate top 10 user recommendations for each movie
+    movieRecs = model.recommendForAllItems(10)
     # $example off$
+    userRecs.show()
+    movieRecs.show()
+
     spark.stop()

http://git-wip-us.apache.org/repos/asf/spark/blob/b8d37ac3/examples/src/main/scala/org/apache/spark/examples/ml/ALSExample.scala
----------------------------------------------------------------------
diff --git 
a/examples/src/main/scala/org/apache/spark/examples/ml/ALSExample.scala 
b/examples/src/main/scala/org/apache/spark/examples/ml/ALSExample.scala
index 868f49b..07b15df 100644
--- a/examples/src/main/scala/org/apache/spark/examples/ml/ALSExample.scala
+++ b/examples/src/main/scala/org/apache/spark/examples/ml/ALSExample.scala
@@ -75,7 +75,14 @@ object ALSExample {
       .setPredictionCol("prediction")
     val rmse = evaluator.evaluate(predictions)
     println(s"Root-mean-square error = $rmse")
+
+    // Generate top 10 movie recommendations for each user
+    val userRecs = model.recommendForAllUsers(10)
+    // Generate top 10 user recommendations for each movie
+    val movieRecs = model.recommendForAllItems(10)
     // $example off$
+    userRecs.show()
+    movieRecs.show()
 
     spark.stop()
   }


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

Reply via email to