You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@mahout.apache.org by sr...@apache.org on 2010/03/10 11:26:19 UTC
svn commit: r921289 - in
/lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example:
bookcrossing/ jester/
Author: srowen
Date: Wed Mar 10 10:26:18 2010
New Revision: 921289
URL: http://svn.apache.org/viewvc?rev=921289&view=rev
Log:
Update examples to use a little more data for more consistent results
Modified:
lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example/bookcrossing/BookCrossingRecommender.java
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/jester/JesterDataModel.java
lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example/jester/JesterRecommenderEvaluatorRunner.java
Modified: lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example/bookcrossing/BookCrossingRecommender.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example/bookcrossing/BookCrossingRecommender.java?rev=921289&r1=921288&r2=921289&view=diff
==============================================================================
--- lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example/bookcrossing/BookCrossingRecommender.java (original)
+++ lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example/bookcrossing/BookCrossingRecommender.java Wed Mar 10 10:26:18 2010
@@ -25,6 +25,7 @@ import org.apache.mahout.cf.taste.common
import org.apache.mahout.cf.taste.impl.neighborhood.NearestNUserNeighborhood;
import org.apache.mahout.cf.taste.impl.recommender.CachingRecommender;
import org.apache.mahout.cf.taste.impl.recommender.GenericUserBasedRecommender;
+import org.apache.mahout.cf.taste.impl.similarity.CachingUserSimilarity;
import org.apache.mahout.cf.taste.impl.similarity.PearsonCorrelationSimilarity;
import org.apache.mahout.cf.taste.model.DataModel;
import org.apache.mahout.cf.taste.neighborhood.UserNeighborhood;
@@ -42,8 +43,8 @@ public final class BookCrossingRecommend
private final Recommender recommender;
public BookCrossingRecommender(DataModel bcModel) throws TasteException {
- UserSimilarity similarity = new PearsonCorrelationSimilarity(bcModel);
- UserNeighborhood neighborhood = new NearestNUserNeighborhood(10, 0.0, similarity, bcModel, 0.1);
+ UserSimilarity similarity = new CachingUserSimilarity(new PearsonCorrelationSimilarity(bcModel), bcModel);
+ UserNeighborhood neighborhood = new NearestNUserNeighborhood(10, 0.0, similarity, bcModel, 0.25);
recommender = new CachingRecommender(new GenericUserBasedRecommender(bcModel, neighborhood, similarity));
}
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=921289&r1=921288&r2=921289&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 Wed Mar 10 10:26:18 2010
@@ -50,8 +50,8 @@ public final class BookCrossingRecommend
double evaluation = evaluator.evaluate(new BookCrossingRecommenderBuilder(),
null,
model,
- 0.95,
- 0.05);
+ 0.9,
+ 0.3);
log.info(String.valueOf(evaluation));
}
Modified: lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example/jester/JesterDataModel.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example/jester/JesterDataModel.java?rev=921289&r1=921288&r2=921289&view=diff
==============================================================================
--- lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example/jester/JesterDataModel.java (original)
+++ lucene/mahout/trunk/examples/src/main/java/org/apache/mahout/cf/taste/example/jester/JesterDataModel.java Wed Mar 10 10:26:18 2010
@@ -21,6 +21,7 @@ import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
import java.util.Collection;
+import java.util.regex.Pattern;
import org.apache.mahout.cf.taste.example.grouplens.GroupLensDataModel;
import org.apache.mahout.cf.taste.impl.common.FastByIDMap;
@@ -32,7 +33,9 @@ import org.apache.mahout.cf.taste.model.
import org.apache.mahout.common.FileLineIterator;
public final class JesterDataModel extends FileDataModel {
-
+
+ private static final Pattern COMMA_PATTERN = Pattern.compile(",");
+
private long userBeingRead;
public JesterDataModel() throws IOException {
@@ -64,7 +67,7 @@ public final class JesterDataModel exten
@Override
protected void processLine(String line, FastByIDMap<?> rawData, boolean fromPriorData) {
FastByIDMap<Collection<Preference>> data = (FastByIDMap<Collection<Preference>>) rawData;
- String[] jokePrefs = line.split(",");
+ String[] jokePrefs = COMMA_PATTERN.split(line);
int count = Integer.parseInt(jokePrefs[0]);
Collection<Preference> prefs = new ArrayList<Preference>(count);
for (int itemID = 1; itemID < jokePrefs.length; itemID++) { // yes skip first one, just a count
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=921289&r1=921288&r2=921289&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 Wed Mar 10 10:26:18 2010
@@ -50,7 +50,7 @@ public final class JesterRecommenderEval
null,
model,
0.9,
- 0.1);
+ 0.3);
log.info(String.valueOf(evaluation));
}