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");