You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mahout.apache.org by is...@apache.org on 2009/10/09 15:16:42 UTC

svn commit: r823542 - in /lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example: bookcrossing/ grouplens/ jester/ netflix/

Author: isabel
Date: Fri Oct  9 13:16:41 2009
New Revision: 823542

URL: http://svn.apache.org/viewvc?rev=823542&view=rev
Log:
MAHOUT-138 - transformed taste examples to cli style command line
parsing.

Modified:
    lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example/bookcrossing/BookCrossingRecommenderEvaluatorRunner.java
    lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example/grouplens/GroupLensRecommenderEvaluatorRunner.java
    lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example/jester/JesterRecommenderEvaluatorRunner.java
    lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example/netflix/NetflixRecommenderEvaluatorRunner.java
    lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example/netflix/TransposeToByUser.java

Modified: lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example/bookcrossing/BookCrossingRecommenderEvaluatorRunner.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example/bookcrossing/BookCrossingRecommenderEvaluatorRunner.java?rev=823542&r1=823541&r2=823542&view=diff
==============================================================================
--- lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example/bookcrossing/BookCrossingRecommenderEvaluatorRunner.java (original)
+++ lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example/bookcrossing/BookCrossingRecommenderEvaluatorRunner.java Fri Oct  9 13:16:41 2009
@@ -17,8 +17,10 @@
 
 package org.apache.mahout.cf.taste.example.bookcrossing;
 
+import org.apache.commons.cli2.OptionException;
 import org.apache.mahout.cf.taste.common.TasteException;
 import org.apache.mahout.cf.taste.eval.RecommenderEvaluator;
+import org.apache.mahout.cf.taste.example.TasteOptionParser;
 import org.apache.mahout.cf.taste.impl.eval.AverageAbsoluteDifferenceRecommenderEvaluator;
 import org.apache.mahout.cf.taste.model.DataModel;
 import org.slf4j.Logger;
@@ -35,11 +37,13 @@
     // do nothing
   }
 
-  public static void main(String... args) throws IOException, TasteException {
+  public static void main(String... args) throws IOException, TasteException, OptionException {
     RecommenderEvaluator evaluator = new AverageAbsoluteDifferenceRecommenderEvaluator();
     DataModel model;
-    if (args.length >= 1) {
-      model = new BookCrossingDataModel(new File(args[0]));
+    TasteOptionParser parser = new TasteOptionParser();
+    File ratingsFile = parser.getRatings(args);
+    if (ratingsFile != null) {
+      model = new BookCrossingDataModel(ratingsFile);
     } else {
       model = new BookCrossingDataModel();
     }

Modified: lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example/grouplens/GroupLensRecommenderEvaluatorRunner.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example/grouplens/GroupLensRecommenderEvaluatorRunner.java?rev=823542&r1=823541&r2=823542&view=diff
==============================================================================
--- lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example/grouplens/GroupLensRecommenderEvaluatorRunner.java (original)
+++ lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example/grouplens/GroupLensRecommenderEvaluatorRunner.java Fri Oct  9 13:16:41 2009
@@ -17,8 +17,10 @@
 
 package org.apache.mahout.cf.taste.example.grouplens;
 
+import org.apache.commons.cli2.OptionException;
 import org.apache.mahout.cf.taste.common.TasteException;
 import org.apache.mahout.cf.taste.eval.RecommenderEvaluator;
+import org.apache.mahout.cf.taste.example.TasteOptionParser;
 import org.apache.mahout.cf.taste.impl.eval.AverageAbsoluteDifferenceRecommenderEvaluator;
 import org.apache.mahout.cf.taste.model.DataModel;
 import org.slf4j.Logger;
@@ -39,11 +41,13 @@
     // do nothing
   }
 
-  public static void main(String... args) throws IOException, TasteException {
+  public static void main(String... args) throws IOException, TasteException, OptionException {
     RecommenderEvaluator evaluator = new AverageAbsoluteDifferenceRecommenderEvaluator();
     DataModel model;
-    if (args.length >= 1) {
-      model = new GroupLensDataModel(new File(args[0]));
+    TasteOptionParser parser = new TasteOptionParser();
+    File ratingsFile = parser.getRatings(args);
+    if (ratingsFile != null) {
+      model = new GroupLensDataModel(ratingsFile);
     } else {
       model = new GroupLensDataModel();
     }

Modified: lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example/jester/JesterRecommenderEvaluatorRunner.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example/jester/JesterRecommenderEvaluatorRunner.java?rev=823542&r1=823541&r2=823542&view=diff
==============================================================================
--- lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example/jester/JesterRecommenderEvaluatorRunner.java (original)
+++ lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example/jester/JesterRecommenderEvaluatorRunner.java Fri Oct  9 13:16:41 2009
@@ -17,8 +17,10 @@
 
 package org.apache.mahout.cf.taste.example.jester;
 
+import org.apache.commons.cli2.OptionException;
 import org.apache.mahout.cf.taste.common.TasteException;
 import org.apache.mahout.cf.taste.eval.RecommenderEvaluator;
+import org.apache.mahout.cf.taste.example.TasteOptionParser;
 import org.apache.mahout.cf.taste.impl.eval.AverageAbsoluteDifferenceRecommenderEvaluator;
 import org.apache.mahout.cf.taste.model.DataModel;
 import org.slf4j.Logger;
@@ -35,11 +37,13 @@
     // do nothing
   }
 
-  public static void main(String... args) throws IOException, TasteException {
+  public static void main(String... args) throws IOException, TasteException, OptionException {
     RecommenderEvaluator evaluator = new AverageAbsoluteDifferenceRecommenderEvaluator();
     DataModel model;
-    if (args.length >= 1) {
-      model = new JesterDataModel(new File(args[0]));
+    TasteOptionParser parser = new TasteOptionParser();
+    File ratingsFile = parser.getRatings(args);
+    if (ratingsFile != null) {
+      model = new JesterDataModel(ratingsFile);
     } else {
       model = new JesterDataModel();
     }

Modified: lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example/netflix/NetflixRecommenderEvaluatorRunner.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example/netflix/NetflixRecommenderEvaluatorRunner.java?rev=823542&r1=823541&r2=823542&view=diff
==============================================================================
--- lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example/netflix/NetflixRecommenderEvaluatorRunner.java (original)
+++ lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example/netflix/NetflixRecommenderEvaluatorRunner.java Fri Oct  9 13:16:41 2009
@@ -17,8 +17,10 @@
 
 package org.apache.mahout.cf.taste.example.netflix;
 
+import org.apache.commons.cli2.OptionException;
 import org.apache.mahout.cf.taste.common.TasteException;
 import org.apache.mahout.cf.taste.eval.RecommenderEvaluator;
+import org.apache.mahout.cf.taste.example.TasteOptionParser;
 import org.apache.mahout.cf.taste.impl.eval.AverageAbsoluteDifferenceRecommenderEvaluator;
 import org.apache.mahout.cf.taste.model.DataModel;
 import org.slf4j.Logger;
@@ -35,11 +37,17 @@
     // do nothing
   }
 
-  public static void main(String... args) throws IOException, TasteException {
+  public static void main(String... args) throws IOException, TasteException, OptionException {
     RecommenderEvaluator evaluator = new AverageAbsoluteDifferenceRecommenderEvaluator();
-    DataModel model = new NetflixDataModel(new File(args[0]), true);
-    double evaluation = evaluator.evaluate(new NetflixRecommenderBuilder(), null, model, 0.9, 0.1);
-    log.info(String.valueOf(evaluation));
+    TasteOptionParser parser = new TasteOptionParser();
+    File ratingsFile = parser.getRatings(args);
+    if (ratingsFile != null) {
+      DataModel model = new NetflixDataModel(ratingsFile, true);
+      double evaluation = evaluator.evaluate(new NetflixRecommenderBuilder(), null, model, 0.9, 0.1);
+      log.info(String.valueOf(evaluation));
+    } else {
+      log.error("Netflix Recommender needs a ratings file to work. Please provide it with the -i command line option.");
+    }
   }
 
 }
\ No newline at end of file

Modified: lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example/netflix/TransposeToByUser.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example/netflix/TransposeToByUser.java?rev=823542&r1=823541&r2=823542&view=diff
==============================================================================
--- lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example/netflix/TransposeToByUser.java (original)
+++ lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example/netflix/TransposeToByUser.java Fri Oct  9 13:16:41 2009
@@ -17,6 +17,8 @@
 
 package org.apache.mahout.cf.taste.example.netflix;
 
+import org.apache.commons.cli2.OptionException;
+import org.apache.mahout.cf.taste.example.TasteOptionParser;
 import org.apache.mahout.cf.taste.impl.common.FastMap;
 import org.apache.mahout.common.FileLineIterable;
 import org.apache.mahout.common.IOUtils;
@@ -40,9 +42,10 @@
 
   private TransposeToByUser() {}
 
-  public static void main(String[] args) throws IOException {
+  public static void main(String[] args) throws IOException, OptionException {
 
-    File dataDirectory = new File(args[0]);
+    TasteOptionParser parser = new TasteOptionParser();
+    File dataDirectory = parser.getRatings(args);
     File byItemDirectory = new File(dataDirectory, "training_set");
     File byUserDirectory = new File(dataDirectory, "training_set_by_user");