Author: tdunning
Date: Tue Aug 17 16:22:05 2010
New Revision: 986372

URL: http://svn.apache.org/viewvc?rev=986372&view=rev
Log:
Rearrange to make encoding more widely visible.
Added comments.
Improved a few style points

Added:
    mahout/trunk/.gitignore
    mahout/trunk/core/src/main/java/org/apache/mahout/vectors/
    
mahout/trunk/core/src/main/java/org/apache/mahout/vectors/AdaptiveWordValueEncoder.java
      - copied, changed from r986125, 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/AdaptiveWordValueEncoder.java
    
mahout/trunk/core/src/main/java/org/apache/mahout/vectors/ConstantValueEncoder.java
      - copied, changed from r986125, 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/ConstantValueEncoder.java
    
mahout/trunk/core/src/main/java/org/apache/mahout/vectors/ContinuousValueEncoder.java
      - copied, changed from r986125, 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/ContinuousValueEncoder.java
    mahout/trunk/core/src/main/java/org/apache/mahout/vectors/Dictionary.java
      - copied, changed from r986125, 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/Dictionary.java
    
mahout/trunk/core/src/main/java/org/apache/mahout/vectors/FeatureVectorEncoder.java
      - copied, changed from r986125, 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/FeatureVectorEncoder.java
    mahout/trunk/core/src/main/java/org/apache/mahout/vectors/MurmurHash.java
      - copied, changed from r986125, 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/MurmurHash.java
    
mahout/trunk/core/src/main/java/org/apache/mahout/vectors/StaticWordValueEncoder.java
      - copied, changed from r986125, 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/StaticWordValueEncoder.java
    
mahout/trunk/core/src/main/java/org/apache/mahout/vectors/TextValueEncoder.java
      - copied, changed from r986125, 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/TextValueEncoder.java
    
mahout/trunk/core/src/main/java/org/apache/mahout/vectors/WordValueEncoder.java
      - copied, changed from r986125, 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/WordValueEncoder.java
    mahout/trunk/core/src/test/java/org/apache/mahout/vectors/
    
mahout/trunk/core/src/test/java/org/apache/mahout/vectors/ContinuousValueEncoderTest.java
      - copied, changed from r986125, 
mahout/trunk/core/src/test/java/org/apache/mahout/classifier/sgd/ContinuousValueEncoderTest.java
    
mahout/trunk/core/src/test/java/org/apache/mahout/vectors/MurmurHashTest.java
      - copied, changed from r986125, 
mahout/trunk/core/src/test/java/org/apache/mahout/classifier/MurmurHashTest.java
    
mahout/trunk/core/src/test/java/org/apache/mahout/vectors/TextValueEncoderTest.java
      - copied, changed from r986125, 
mahout/trunk/core/src/test/java/org/apache/mahout/classifier/sgd/TextValueEncoderTest.java
    
mahout/trunk/core/src/test/java/org/apache/mahout/vectors/WordLikeValueEncoderTest.java
      - copied, changed from r986125, 
mahout/trunk/core/src/test/java/org/apache/mahout/classifier/sgd/WordLikeValueEncoderTest.java
Removed:
    mahout/trunk/core/src/main/java/org/apache/mahout/classifier/MurmurHash.java
    
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/AdaptiveWordValueEncoder.java
    
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/ConstantValueEncoder.java
    
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/ContinuousValueEncoder.java
    
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/Dictionary.java
    
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/FeatureVectorEncoder.java
    
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/StaticWordValueEncoder.java
    
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/TextValueEncoder.java
    
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/WordValueEncoder.java
    
mahout/trunk/core/src/test/java/org/apache/mahout/classifier/MurmurHashTest.java
    
mahout/trunk/core/src/test/java/org/apache/mahout/classifier/sgd/ContinuousValueEncoderTest.java
    
mahout/trunk/core/src/test/java/org/apache/mahout/classifier/sgd/TextValueEncoderTest.java
    
mahout/trunk/core/src/test/java/org/apache/mahout/classifier/sgd/WordLikeValueEncoderTest.java
Modified:
    
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/AbstractOnlineLogisticRegression.java
    
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/CrossFoldLearner.java
    
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/CsvRecordFactory.java
    
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/ElasticBandPrior.java
    mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/L1.java
    mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/L2.java
    
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/PriorFunction.java
    mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/TPrior.java
    
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/UniformPrior.java
    
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/package.html
    
mahout/trunk/core/src/test/java/org/apache/mahout/classifier/sgd/CsvRecordFactoryTest.java

Added: mahout/trunk/.gitignore
URL: http://svn.apache.org/viewvc/mahout/trunk/.gitignore?rev=986372&view=auto
==============================================================================
--- mahout/trunk/.gitignore (added)
+++ mahout/trunk/.gitignore Tue Aug 17 16:22:05 2010
@@ -0,0 +1,2 @@
+.idea/*
+*.iml

Modified: 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/AbstractOnlineLogisticRegression.java
URL: 
http://svn.apache.org/viewvc/mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/AbstractOnlineLogisticRegression.java?rev=986372&r1=986371&r2=986372&view=diff
==============================================================================
--- 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/AbstractOnlineLogisticRegression.java
 (original)
+++ 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/AbstractOnlineLogisticRegression.java
 Tue Aug 17 16:22:05 2010
@@ -179,7 +179,8 @@ public abstract class AbstractOnlineLogi
         int j = updateLocation.index();
         double missingUpdates = getStep() - updateSteps.get(j);
         if (missingUpdates > 0) {
-          double newValue = prior.age(beta.get(i, j), missingUpdates, 
getLambda() * learningRate * perTermLearningRate(j));
+          double rate = getLambda() * learningRate * perTermLearningRate(j);
+          double newValue = prior.age(beta.get(i, j), missingUpdates, rate);
           beta.set(i, j, newValue);
         }
       }
@@ -205,8 +206,8 @@ public abstract class AbstractOnlineLogi
     return beta;
   }
 
-  public void setBeta(int i, int j, double beta_ij) {
-    beta.set(i, j, beta_ij);
+  public void setBeta(int i, int j, double betaIJ) {
+    beta.set(i, j, betaIJ);
   }
 
   public int numCategories() {

Modified: 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/CrossFoldLearner.java
URL: 
http://svn.apache.org/viewvc/mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/CrossFoldLearner.java?rev=986372&r1=986371&r2=986372&view=diff
==============================================================================
--- 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/CrossFoldLearner.java
 (original)
+++ 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/CrossFoldLearner.java
 Tue Aug 17 16:22:05 2010
@@ -19,13 +19,16 @@ import java.util.List;
  * record should be passed with each training example.
  */
 class CrossFoldLearner extends AbstractVectorClassifier implements 
OnlineLearner, Comparable<CrossFoldLearner> {
-  int record = 0;
-  OnlineAuc auc = new OnlineAuc();
-  double logLikelihood = 0;
-  List<OnlineLogisticRegression> models = Lists.newArrayList();
+  private static volatile int nextId = 0;
+
+  private final int id = nextId++;
+  private int record = 0;
+  private OnlineAuc auc = new OnlineAuc();
+  private double logLikelihood = 0;
+  private List<OnlineLogisticRegression> models = Lists.newArrayList();
 
   // lambda, learningRate, perTermOffset, perTermExponent
-  double[] parameters = new double[4];
+  private double[] parameters = new double[4];
 
   CrossFoldLearner(int folds, int numCategories, int numFeatures, 
PriorFunction prior) {
     for (int i = 0; i < folds; i++) {
@@ -35,6 +38,37 @@ class CrossFoldLearner extends AbstractV
     }
   }
 
+  // -------- builder-like configuration methods
+
+  public CrossFoldLearner lambda(double v) {
+    for (OnlineLogisticRegression model : models) {
+      model.lambda(v);
+    }
+    return this;
+  }
+
+  public CrossFoldLearner learningRate(double x) {
+    for (OnlineLogisticRegression model : models) {
+      model.learningRate(x);
+    }
+    return this;
+  }
+
+  public CrossFoldLearner stepOffset(int x) {
+    for (OnlineLogisticRegression model : models) {
+      model.stepOffset(x);
+    }
+    return this;
+  }
+
+  public CrossFoldLearner decayExponent(double x) {
+    for (OnlineLogisticRegression model : models) {
+      model.decayExponent(x);
+    }
+    return this;
+  }
+
+  // -------- training methods
   @Override
   public void train(int actual, Vector instance) {
     train(record, actual, instance);
@@ -68,43 +102,7 @@ class CrossFoldLearner extends AbstractV
     record = 0;
   }
 
-  @Override
-  public int compareTo(CrossFoldLearner other) {
-    return Double.compare(this.logLikelihood, other.logLikelihood);
-  }
-
-  public CrossFoldLearner lambda(double v) {
-    for (OnlineLogisticRegression model : models) {
-      model.lambda(v);
-    }
-    return this;
-  }
-
-  public CrossFoldLearner learningRate(double x) {
-    for (OnlineLogisticRegression model : models) {
-      model.learningRate(x);
-    }
-    return this;
-  }
-
-  public CrossFoldLearner stepOffset(int x) {
-    for (OnlineLogisticRegression model : models) {
-      model.stepOffset(x);
-    }
-    return this;
-  }
-
-  public CrossFoldLearner decayExponent(double x) {
-    for (OnlineLogisticRegression model : models) {
-      model.decayExponent(x);
-    }
-    return this;
-  }
-
-  @Override
-  public int numCategories() {
-    return models.get(0).numCategories();
-  }
+  // -------- classification methods
 
   @Override
   public Vector classify(Vector instance) {
@@ -127,6 +125,13 @@ class CrossFoldLearner extends AbstractV
     return r / n;
   }
 
+  // -------- status reporting methods
+  
+  @Override
+  public int numCategories() {
+    return models.get(0).numCategories();
+  }
+
   public double auc() {
     return auc.auc();
   }
@@ -134,4 +139,28 @@ class CrossFoldLearner extends AbstractV
   public double logLikelihood() {
     return logLikelihood;
   }
+  // -------- general object and ordering stuff
+
+  /**
+   * Orders primarily by AUC descending with a fallback to object creation 
order so that
+   * <pre>
+   * a.compareTo(b) == 0  <==>  a.equals(b)
+   * </pre>
+   * Without the id comparison, it is dangerous to insert CrossFoldLearner's 
into a
+   * TreeSet since if they ever have the same score, they can't be 
distinguished.
+   */
+  @Override
+  public int compareTo(CrossFoldLearner other) {
+    int r = Double.compare(this.auc(), other.auc());
+    if (r != 0) {
+      return r;
+    } else {
+      return id - other.id;
+    }
+  }
+
+  @Override
+  public boolean equals(Object other) {
+    return other instanceof CrossFoldLearner && id == ((CrossFoldLearner) 
other).id;
+  }
 }

Modified: 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/CsvRecordFactory.java
URL: 
http://svn.apache.org/viewvc/mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/CsvRecordFactory.java?rev=986372&r1=986371&r2=986372&view=diff
==============================================================================
--- 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/CsvRecordFactory.java
 (original)
+++ 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/CsvRecordFactory.java
 Tue Aug 17 16:22:05 2010
@@ -25,6 +25,12 @@ import com.google.common.collect.Immutab
 import com.google.common.collect.Lists;
 import com.google.common.collect.Maps;
 import org.apache.mahout.math.Vector;
+import org.apache.mahout.vectors.ConstantValueEncoder;
+import org.apache.mahout.vectors.ContinuousValueEncoder;
+import org.apache.mahout.vectors.Dictionary;
+import org.apache.mahout.vectors.FeatureVectorEncoder;
+import org.apache.mahout.vectors.StaticWordValueEncoder;
+import org.apache.mahout.vectors.TextValueEncoder;
 
 import java.lang.reflect.Constructor;
 import java.lang.reflect.InvocationTargetException;
@@ -65,7 +71,7 @@ public class CsvRecordFactory implements
   // commas inside.  Also, escaped quotes will not be unescaped.  Good enough 
for now.
   private Splitter onComma = Splitter.on(",").trimResults(CharMatcher.is('"'));
 
-  private static final Map<String, Class<? extends FeatureVectorEncoder>> 
typeDictionary =
+  private static Map<String, Class<? extends FeatureVectorEncoder>> 
typeDictionary =
           ImmutableMap.<String, Class<? extends FeatureVectorEncoder>>builder()
                   .put("continuous", ContinuousValueEncoder.class)
                   .put("numeric", ContinuousValueEncoder.class)
@@ -88,6 +94,7 @@ public class CsvRecordFactory implements
   private Map<String, String> typeMap;
   private List<String> variableNames;
   private boolean includeBiasTerm;
+  private static final String CANNOT_CONSTRUCT_CONVERTER = "Unable to 
construct type converter... shouldn't be possible";
 
   /**
    * Construct a parser for CSV lines that encodes the parsed data in vector 
form.
@@ -109,7 +116,8 @@ public class CsvRecordFactory implements
   @Override
   public void defineTargetCategories(List<String> values) {
     if (values.size() > maxTargetValue) {
-      throw new IllegalArgumentException("Must have less than or equal to " + 
maxTargetValue + " categories for target variable, but found " + values.size());
+      throw new IllegalArgumentException("Must have less than or equal to " + 
maxTargetValue
+        + " categories for target variable, but found " + values.size());
     }
 
     if (maxTargetValue == Integer.MAX_VALUE) {
@@ -188,7 +196,8 @@ public class CsvRecordFactory implements
       }
       try {
         if (c == null) {
-          throw new IllegalArgumentException("Invalid type of variable " + 
typeMap.get(name) + " wanted on of " + typeDictionary.keySet());
+          throw new IllegalArgumentException("Invalid type of variable " + 
typeMap.get(name)
+            + " wanted one of " + typeDictionary.keySet());
         }
         Constructor<? extends FeatureVectorEncoder> constructor = 
c.getConstructor(String.class);
         if (constructor == null) {
@@ -198,13 +207,13 @@ public class CsvRecordFactory implements
         predictorEncoders.put(predictor, encoder);
         encoder.setTraceDictionary(traceDictionary);
       } catch (InstantiationException e) {
-        throw new ImpossibleException("Unable to construct type converter... 
shouldn't be possible", e);
+        throw new ImpossibleException(CANNOT_CONSTRUCT_CONVERTER, e);
       } catch (IllegalAccessException e) {
-        throw new ImpossibleException("Unable to construct type converter... 
shouldn't be possible", e);
+        throw new ImpossibleException(CANNOT_CONSTRUCT_CONVERTER, e);
       } catch (InvocationTargetException e) {
-        throw new ImpossibleException("Unable to construct type converter... 
shouldn't be possible", e);
+        throw new ImpossibleException(CANNOT_CONSTRUCT_CONVERTER, e);
       } catch (NoSuchMethodException e) {
-        throw new ImpossibleException("Unable to construct type converter... 
shouldn't be possible", e);
+        throw new ImpossibleException(CANNOT_CONSTRUCT_CONVERTER, e);
       }
     }
   }
@@ -280,7 +289,7 @@ public class CsvRecordFactory implements
     return r;
   }
 
-  private static class ImpossibleException extends RuntimeException {
+  private static final class ImpossibleException extends RuntimeException {
     private ImpossibleException(String message, Throwable cause) {
       super(message, cause);
     }

Modified: 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/ElasticBandPrior.java
URL: 
http://svn.apache.org/viewvc/mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/ElasticBandPrior.java?rev=986372&r1=986371&r2=986372&view=diff
==============================================================================
--- 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/ElasticBandPrior.java
 (original)
+++ 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/ElasticBandPrior.java
 Tue Aug 17 16:22:05 2010
@@ -17,6 +17,10 @@
 
 package org.apache.mahout.classifier.sgd;
 
+/**
+ * Implements a linear combination of L1 and L2 priors.  This can give an
+ * interesting mixture of sparsity and load-sharing between redundant 
predictors.
+ */
 public class ElasticBandPrior extends PriorFunction {
   private double alphaByLambda;
   private L1 l1;
@@ -41,7 +45,7 @@ public class ElasticBandPrior extends Pr
   }
 
   @Override
-  public double logP(double beta_ij) {
-    return l1.logP(beta_ij) + alphaByLambda * l2.logP(beta_ij);
+  public double logP(double betaIJ) {
+    return l1.logP(betaIJ) + alphaByLambda * l2.logP(betaIJ);
   }
 }

Modified: 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/L1.java
URL: 
http://svn.apache.org/viewvc/mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/L1.java?rev=986372&r1=986371&r2=986372&view=diff
==============================================================================
--- mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/L1.java 
(original)
+++ mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/L1.java 
Tue Aug 17 16:22:05 2010
@@ -39,7 +39,7 @@ public class L1 extends PriorFunction {
   }
 
   @Override
-  public double logP(double beta_ij) {
-    return - Math.abs(beta_ij) ;
+  public double logP(double betaIJ) {
+    return -Math.abs(betaIJ);
   }
 }

Modified: 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/L2.java
URL: 
http://svn.apache.org/viewvc/mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/L2.java?rev=986372&r1=986371&r2=986372&view=diff
==============================================================================
--- mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/L2.java 
(original)
+++ mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/L2.java 
Tue Aug 17 16:22:05 2010
@@ -38,7 +38,7 @@ public class L2 extends PriorFunction {
   }
 
   @Override
-  public double logP(double beta_ij) {
-    return -beta_ij * beta_ij / s2 / 2 - log(s) - log(2 * Math.PI) / 2;
+  public double logP(double betaIJ) {
+    return -betaIJ * betaIJ / s2 / 2 - log(s) - log(2 * Math.PI) / 2;
   }
 }

Modified: 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/PriorFunction.java
URL: 
http://svn.apache.org/viewvc/mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/PriorFunction.java?rev=986372&r1=986371&r2=986372&view=diff
==============================================================================
--- 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/PriorFunction.java
 (original)
+++ 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/PriorFunction.java
 Tue Aug 17 16:22:05 2010
@@ -18,7 +18,11 @@
 package org.apache.mahout.classifier.sgd;
 
 /**
- * A prior is used to regularize the learning algorithm.
+ * A prior is used to regularize the learning algorithm.  This allows a 
trade-off to
+ * be made between complexity of the model being learned and the accuracy with 
which
+ * the model fits the training data.  There are different definitions of 
complexity
+ * which can be approximated using different priors.  For large sparse 
systems, such
+ * as text classification, the L1 prior is often used which favors sparse 
models.
  */
 public abstract class PriorFunction {
   /**
@@ -32,8 +36,8 @@ public abstract class PriorFunction {
 
   /**
    * Returns the log of the probability of a particular coefficient value 
according to the prior.
-   * @param beta_ij         The coefficient.
+   * @param betaIJ          The coefficient.
    * @return                The log probability.
    */
-  public abstract double logP(double beta_ij);
+  public abstract double logP(double betaIJ);
 }

Modified: 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/TPrior.java
URL: 
http://svn.apache.org/viewvc/mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/TPrior.java?rev=986372&r1=986371&r2=986372&view=diff
==============================================================================
--- 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/TPrior.java 
(original)
+++ 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/TPrior.java 
Tue Aug 17 16:22:05 2010
@@ -39,7 +39,7 @@ public class TPrior extends PriorFunctio
   }
 
   @Override
-  public double logP(double beta_ij) {
-    return logGamma((df + 1) / 2) - log(df * Math.PI) - logGamma(df / 2) - (df 
+ 1) / 2 * log(1 + beta_ij * beta_ij);
+  public double logP(double betaIJ) {
+    return logGamma((df + 1) / 2) - log(df * Math.PI) - logGamma(df / 2) - (df 
+ 1) / 2 * log(1 + betaIJ * betaIJ);
   }
 }

Modified: 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/UniformPrior.java
URL: 
http://svn.apache.org/viewvc/mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/UniformPrior.java?rev=986372&r1=986371&r2=986372&view=diff
==============================================================================
--- 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/UniformPrior.java
 (original)
+++ 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/UniformPrior.java
 Tue Aug 17 16:22:05 2010
@@ -27,7 +27,7 @@ public class UniformPrior extends PriorF
   }
 
   @Override
-  public double logP(double beta_ij) {
+  public double logP(double betaIJ) {
     return 0;
   }
 }

Modified: 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/package.html
URL: 
http://svn.apache.org/viewvc/mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/package.html?rev=986372&r1=986371&r2=986372&view=diff
==============================================================================
--- 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/package.html 
(original)
+++ 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/package.html 
Tue Aug 17 16:22:05 2010
@@ -1,20 +1,26 @@
 <html>
 <body>
+Implements a variety of on-line logistric regression classifiers using 
SGD-based algorithms.
 SGD stands for Stochastic Gradient Descent and refers to a class of learning 
algorithms
 that make it relatively easy to build high speed on-line learning algorithms 
for a variety
 of problems, notably including supervised learning for classification.
-
-The primary class of interest in the this package is CrossFoldLearner which 
contains a
+<p>
+The primary class of interest in the this package is @link{CrossFoldLearner} 
which contains a
 number (typically 5) of sub-learners, each of which is given a different 
portion of the
 training data.  Each of these sub-learners can then be evaluated on the data 
it was not
 trained on.  This allows fully incremental learning while still getting 
cross-validated
 performance estimates.
-
-The CrossFoldLearner implements OnlineLearner and thus expects to be fed input 
in the form
+<p>
+The CrossFoldLearner implements @link{OnlineLearner} and thus expects to be 
fed input in the form
 of a target variable and a feature vector.  The target variable is simply an 
integer in the
 half-open interval [0..numFeatures) where numFeatures is defined when the 
CrossFoldLearner
 is constructed.  The creation of feature vectors is facilitated by the classes 
that inherit
-from FeatureVectorEncoder.  These classes currently implement a form of 
feature hashing with
+from @link{FeatureVectorEncoder}.  These classes currently implement a form of 
feature hashing with
 multiple probes to limit feature ambiguity.
+
+...@see{onlinelogisticregressiontest}
+...@see{continuousvalueencodertest}
+...@see{textvalueencodertest}
+...@see{wordlikevalueencodertest}
 </body>
 </html>
\ No newline at end of file

Copied: 
mahout/trunk/core/src/main/java/org/apache/mahout/vectors/AdaptiveWordValueEncoder.java
 (from r986125, 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/AdaptiveWordValueEncoder.java)
URL: 
http://svn.apache.org/viewvc/mahout/trunk/core/src/main/java/org/apache/mahout/vectors/AdaptiveWordValueEncoder.java?p2=mahout/trunk/core/src/main/java/org/apache/mahout/vectors/AdaptiveWordValueEncoder.java&p1=mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/AdaptiveWordValueEncoder.java&r1=986125&r2=986372&rev=986372&view=diff
==============================================================================
--- 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/AdaptiveWordValueEncoder.java
 (original)
+++ 
mahout/trunk/core/src/main/java/org/apache/mahout/vectors/AdaptiveWordValueEncoder.java
 Tue Aug 17 16:22:05 2010
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.mahout.classifier.sgd;
+package org.apache.mahout.vectors;
 
 import com.google.common.collect.HashMultiset;
 import com.google.common.collect.Multiset;

Copied: 
mahout/trunk/core/src/main/java/org/apache/mahout/vectors/ConstantValueEncoder.java
 (from r986125, 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/ConstantValueEncoder.java)
URL: 
http://svn.apache.org/viewvc/mahout/trunk/core/src/main/java/org/apache/mahout/vectors/ConstantValueEncoder.java?p2=mahout/trunk/core/src/main/java/org/apache/mahout/vectors/ConstantValueEncoder.java&p1=mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/ConstantValueEncoder.java&r1=986125&r2=986372&rev=986372&view=diff
==============================================================================
--- 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/ConstantValueEncoder.java
 (original)
+++ 
mahout/trunk/core/src/main/java/org/apache/mahout/vectors/ConstantValueEncoder.java
 Tue Aug 17 16:22:05 2010
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.mahout.classifier.sgd;
+package org.apache.mahout.vectors;
 
 import org.apache.mahout.math.Vector;
 

Copied: 
mahout/trunk/core/src/main/java/org/apache/mahout/vectors/ContinuousValueEncoder.java
 (from r986125, 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/ContinuousValueEncoder.java)
URL: 
http://svn.apache.org/viewvc/mahout/trunk/core/src/main/java/org/apache/mahout/vectors/ContinuousValueEncoder.java?p2=mahout/trunk/core/src/main/java/org/apache/mahout/vectors/ContinuousValueEncoder.java&p1=mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/ContinuousValueEncoder.java&r1=986125&r2=986372&rev=986372&view=diff
==============================================================================
--- 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/ContinuousValueEncoder.java
 (original)
+++ 
mahout/trunk/core/src/main/java/org/apache/mahout/vectors/ContinuousValueEncoder.java
 Tue Aug 17 16:22:05 2010
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.mahout.classifier.sgd;
+package org.apache.mahout.vectors;
 
 import org.apache.mahout.math.Vector;
 

Copied: 
mahout/trunk/core/src/main/java/org/apache/mahout/vectors/Dictionary.java (from 
r986125, 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/Dictionary.java)
URL: 
http://svn.apache.org/viewvc/mahout/trunk/core/src/main/java/org/apache/mahout/vectors/Dictionary.java?p2=mahout/trunk/core/src/main/java/org/apache/mahout/vectors/Dictionary.java&p1=mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/Dictionary.java&r1=986125&r2=986372&rev=986372&view=diff
==============================================================================
--- 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/Dictionary.java
 (original)
+++ mahout/trunk/core/src/main/java/org/apache/mahout/vectors/Dictionary.java 
Tue Aug 17 16:22:05 2010
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.mahout.classifier.sgd;
+package org.apache.mahout.vectors;
 
 import com.google.common.collect.Maps;
 

Copied: 
mahout/trunk/core/src/main/java/org/apache/mahout/vectors/FeatureVectorEncoder.java
 (from r986125, 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/FeatureVectorEncoder.java)
URL: 
http://svn.apache.org/viewvc/mahout/trunk/core/src/main/java/org/apache/mahout/vectors/FeatureVectorEncoder.java?p2=mahout/trunk/core/src/main/java/org/apache/mahout/vectors/FeatureVectorEncoder.java&p1=mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/FeatureVectorEncoder.java&r1=986125&r2=986372&rev=986372&view=diff
==============================================================================
--- 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/FeatureVectorEncoder.java
 (original)
+++ 
mahout/trunk/core/src/main/java/org/apache/mahout/vectors/FeatureVectorEncoder.java
 Tue Aug 17 16:22:05 2010
@@ -15,10 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.mahout.classifier.sgd;
+package org.apache.mahout.vectors;
 
 import com.google.common.collect.Sets;
-import org.apache.mahout.classifier.MurmurHash;
+import org.apache.mahout.vectors.MurmurHash;
 import org.apache.mahout.math.Vector;
 
 import java.nio.charset.Charset;

Copied: 
mahout/trunk/core/src/main/java/org/apache/mahout/vectors/MurmurHash.java (from 
r986125, 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/MurmurHash.java)
URL: 
http://svn.apache.org/viewvc/mahout/trunk/core/src/main/java/org/apache/mahout/vectors/MurmurHash.java?p2=mahout/trunk/core/src/main/java/org/apache/mahout/vectors/MurmurHash.java&p1=mahout/trunk/core/src/main/java/org/apache/mahout/classifier/MurmurHash.java&r1=986125&r2=986372&rev=986372&view=diff
==============================================================================
--- 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/MurmurHash.java 
(original)
+++ mahout/trunk/core/src/main/java/org/apache/mahout/vectors/MurmurHash.java 
Tue Aug 17 16:22:05 2010
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.mahout.classifier;
+package org.apache.mahout.vectors;
 
 import java.nio.ByteBuffer;
 import java.nio.ByteOrder;
@@ -148,22 +148,22 @@ public class MurmurHash {
   }
 
   @Deprecated
-  public static int hash_original(byte[] data, int seed) {
+  public static int hashOriginal(byte[] data, int seed) {
     int m = 0x5bd1e995;
     int r = 24;
 
     int h = seed ^ data.length;
 
     int len = data.length;
-    int len_4 = len >> 2;
+    int len4 = len >> 2;
 
     int k;
-    for (int i = 0; i < len_4; i++) {
-      int i_4 = i << 2;
-      k = data[i_4];
-      k |= data[i_4 + 1] << 8;
-      k |= data[i_4 + 2] << 16;
-      k |= data[i_4 + 3] << 24;
+    for (int i = 0; i < len4; i++) {
+      int i4 = i << 2;
+      k = data[i4];
+      k |= data[i4 + 1] << 8;
+      k |= data[i4 + 2] << 16;
+      k |= data[i4 + 3] << 24;
 
       k *= m;
       k ^= k >>> r;
@@ -173,18 +173,18 @@ public class MurmurHash {
       h ^= k;
     }
 
-    int len_m = len_4 << 2;
-    int left = len - len_m;
+    int lenM = len4 << 2;
+    int left = len - lenM;
 
-    switch (left) {
-      case 3:
-        h ^= (int) data[len_m + 2] << 16;
-      case 2:
-        h ^= (int) data[len_m + 1] << 8;
-      case 1:
-        h ^= (int) data[len_m];
-        h *= m;
-      default:
+    if (left == 3) {
+      h ^= (int) data[lenM + 2] << 16;
+    }
+    if (left >= 2) {
+      h ^= (int) data[lenM + 1] << 8;
+    }
+    if (left >= 1) {
+      h ^= (int) data[lenM];
+      h *= m;
     }
 
     h ^= h >>> 13;
@@ -195,26 +195,26 @@ public class MurmurHash {
   }
 
   @Deprecated
-  public static long hash64A_original(byte[] data, int seed) {
+  public static long hash64AOriginal(byte[] data, int seed) {
     long m = 0xc6a4a7935bd1e995L;
     int r = 47;
 
     int len = data.length;
-    int len_8 = len >> 3;
+    int len8 = len >> 3;
 
     long h = seed ^ (len * m);
 
     long k;
-    for (int i = 0; i < len_8; i++) {
-      int i_8 = i << 3;
-      k = (data[i_8 + 7] & 0xffL) << 56;
-      k |= (data[i_8 + 6] & 0xffL) << 48;
-      k |= (data[i_8 + 5] & 0xffL) << 40;
-      k |= (data[i_8 + 4] & 0xffL) << 32;
-      k |= (data[i_8 + 3] & 0xffL) << 24;
-      k |= (data[i_8 + 2] & 0xffL) << 16;
-      k |= (data[i_8 + 1] & 0xffL) << 8;
-      k |= (data[i_8] & 0xffL);
+    for (int i = 0; i < len8; i++) {
+      int i8 = i << 3;
+      k = (data[i8 + 7] & 0xffL) << 56;
+      k |= (data[i8 + 6] & 0xffL) << 48;
+      k |= (data[i8 + 5] & 0xffL) << 40;
+      k |= (data[i8 + 4] & 0xffL) << 32;
+      k |= (data[i8 + 3] & 0xffL) << 24;
+      k |= (data[i8 + 2] & 0xffL) << 16;
+      k |= (data[i8 + 1] & 0xffL) << 8;
+      k |= (data[i8] & 0xffL);
 
       k *= m;
       k ^= k >>> r;
@@ -224,26 +224,30 @@ public class MurmurHash {
       h *= m;
     }
 
-    int len_m = len_8 << 3;
-    int left = len - len_m;
+    int lenM = len8 << 3;
+    int left = len - lenM;
 
-    switch (left) {
-      case 7:
-        h ^= (data[len_m + 6] & 0xffL) << 48;
-      case 6:
-        h ^= (data[len_m + 5] & 0xffL) << 40;
-      case 5:
-        h ^= (data[len_m + 4] & 0xffL) << 32;
-      case 4:
-        h ^= (data[len_m + 3] & 0xffL) << 24;
-      case 3:
-        h ^= (data[len_m + 2] & 0xffL) << 16;
-      case 2:
-        h ^= (data[len_m + 1] & 0xffL) << 8;
-      case 1:
-        h ^= data[len_m] & 0xffL;
-        h *= m;
-      default:
+    if (left == 7) {
+      h ^= (data[lenM + 6] & 0xffL) << 48;
+    }
+    if (left >= 6) {
+      h ^= (data[lenM + 5] & 0xffL) << 40;
+    }
+    if (left >= 5) {
+      h ^= (data[lenM + 4] & 0xffL) << 32;
+    }
+    if (left >= 4) {
+      h ^= (data[lenM + 3] & 0xffL) << 24;
+    }
+    if (left >= 3) {
+      h ^= (data[lenM + 2] & 0xffL) << 16;
+    }
+    if (left >= 2) {
+      h ^= (data[lenM + 1] & 0xffL) << 8;
+    }
+    if (left >= 1) {
+      h ^= data[lenM] & 0xffL;
+      h *= m;
     }
 
     h ^= h >>> r;

Copied: 
mahout/trunk/core/src/main/java/org/apache/mahout/vectors/StaticWordValueEncoder.java
 (from r986125, 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/StaticWordValueEncoder.java)
URL: 
http://svn.apache.org/viewvc/mahout/trunk/core/src/main/java/org/apache/mahout/vectors/StaticWordValueEncoder.java?p2=mahout/trunk/core/src/main/java/org/apache/mahout/vectors/StaticWordValueEncoder.java&p1=mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/StaticWordValueEncoder.java&r1=986125&r2=986372&rev=986372&view=diff
==============================================================================
--- 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/StaticWordValueEncoder.java
 (original)
+++ 
mahout/trunk/core/src/main/java/org/apache/mahout/vectors/StaticWordValueEncoder.java
 Tue Aug 17 16:22:05 2010
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.mahout.classifier.sgd;
+package org.apache.mahout.vectors;
 
 import java.util.Collections;
 import java.util.Map;

Copied: 
mahout/trunk/core/src/main/java/org/apache/mahout/vectors/TextValueEncoder.java 
(from r986125, 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/TextValueEncoder.java)
URL: 
http://svn.apache.org/viewvc/mahout/trunk/core/src/main/java/org/apache/mahout/vectors/TextValueEncoder.java?p2=mahout/trunk/core/src/main/java/org/apache/mahout/vectors/TextValueEncoder.java&p1=mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/TextValueEncoder.java&r1=986125&r2=986372&rev=986372&view=diff
==============================================================================
--- 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/TextValueEncoder.java
 (original)
+++ 
mahout/trunk/core/src/main/java/org/apache/mahout/vectors/TextValueEncoder.java 
Tue Aug 17 16:22:05 2010
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.mahout.classifier.sgd;
+package org.apache.mahout.vectors;
 
 import com.google.common.base.Splitter;
 import org.apache.mahout.math.Vector;

Copied: 
mahout/trunk/core/src/main/java/org/apache/mahout/vectors/WordValueEncoder.java 
(from r986125, 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/WordValueEncoder.java)
URL: 
http://svn.apache.org/viewvc/mahout/trunk/core/src/main/java/org/apache/mahout/vectors/WordValueEncoder.java?p2=mahout/trunk/core/src/main/java/org/apache/mahout/vectors/WordValueEncoder.java&p1=mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/WordValueEncoder.java&r1=986125&r2=986372&rev=986372&view=diff
==============================================================================
--- 
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/WordValueEncoder.java
 (original)
+++ 
mahout/trunk/core/src/main/java/org/apache/mahout/vectors/WordValueEncoder.java 
Tue Aug 17 16:22:05 2010
@@ -15,7 +15,7 @@
  * limitations under the License.
  */
 
-package org.apache.mahout.classifier.sgd;
+package org.apache.mahout.vectors;
 
 import org.apache.mahout.math.Vector;
 

Modified: 
mahout/trunk/core/src/test/java/org/apache/mahout/classifier/sgd/CsvRecordFactoryTest.java
URL: 
http://svn.apache.org/viewvc/mahout/trunk/core/src/test/java/org/apache/mahout/classifier/sgd/CsvRecordFactoryTest.java?rev=986372&r1=986371&r2=986372&view=diff
==============================================================================
--- 
mahout/trunk/core/src/test/java/org/apache/mahout/classifier/sgd/CsvRecordFactoryTest.java
 (original)
+++ 
mahout/trunk/core/src/test/java/org/apache/mahout/classifier/sgd/CsvRecordFactoryTest.java
 Tue Aug 17 16:22:05 2010
@@ -20,6 +20,7 @@ package org.apache.mahout.classifier.sgd
 import com.google.common.collect.ImmutableMap;
 import org.apache.mahout.math.DenseVector;
 import org.apache.mahout.math.Vector;
+import org.apache.mahout.vectors.Dictionary;
 import org.junit.Assert;
 import org.junit.Test;
 

Copied: 
mahout/trunk/core/src/test/java/org/apache/mahout/vectors/ContinuousValueEncoderTest.java
 (from r986125, 
mahout/trunk/core/src/test/java/org/apache/mahout/classifier/sgd/ContinuousValueEncoderTest.java)
URL: 
http://svn.apache.org/viewvc/mahout/trunk/core/src/test/java/org/apache/mahout/vectors/ContinuousValueEncoderTest.java?p2=mahout/trunk/core/src/test/java/org/apache/mahout/vectors/ContinuousValueEncoderTest.java&p1=mahout/trunk/core/src/test/java/org/apache/mahout/classifier/sgd/ContinuousValueEncoderTest.java&r1=986125&r2=986372&rev=986372&view=diff
==============================================================================
--- 
mahout/trunk/core/src/test/java/org/apache/mahout/classifier/sgd/ContinuousValueEncoderTest.java
 (original)
+++ 
mahout/trunk/core/src/test/java/org/apache/mahout/vectors/ContinuousValueEncoderTest.java
 Tue Aug 17 16:22:05 2010
@@ -15,10 +15,12 @@
  * limitations under the License.
  */
 
-package org.apache.mahout.classifier.sgd;
+package org.apache.mahout.vectors;
 
 import org.apache.mahout.math.DenseVector;
 import org.apache.mahout.math.Vector;
+import org.apache.mahout.vectors.ContinuousValueEncoder;
+import org.apache.mahout.vectors.FeatureVectorEncoder;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;

Copied: 
mahout/trunk/core/src/test/java/org/apache/mahout/vectors/MurmurHashTest.java 
(from r986125, 
mahout/trunk/core/src/test/java/org/apache/mahout/classifier/MurmurHashTest.java)
URL: 
http://svn.apache.org/viewvc/mahout/trunk/core/src/test/java/org/apache/mahout/vectors/MurmurHashTest.java?p2=mahout/trunk/core/src/test/java/org/apache/mahout/vectors/MurmurHashTest.java&p1=mahout/trunk/core/src/test/java/org/apache/mahout/classifier/MurmurHashTest.java&r1=986125&r2=986372&rev=986372&view=diff
==============================================================================
--- 
mahout/trunk/core/src/test/java/org/apache/mahout/classifier/MurmurHashTest.java
 (original)
+++ 
mahout/trunk/core/src/test/java/org/apache/mahout/vectors/MurmurHashTest.java 
Tue Aug 17 16:22:05 2010
@@ -15,9 +15,10 @@
  * limitations under the License.
  */
 
-package org.apache.mahout.classifier;
+package org.apache.mahout.vectors;
 
 import junit.framework.TestCase;
+import org.apache.mahout.vectors.MurmurHash;
 import org.junit.Test;
 
 import java.io.UnsupportedEncodingException;
@@ -44,9 +45,9 @@ public class MurmurHashTest extends Test
     @Test
     public void testHash64original() throws UnsupportedEncodingException {
         // test data generated by running MurmurHash2_64.cpp
-        assertEquals(0x9cc9c33498a95efbL, 
MurmurHash.hash64A_original("abc".getBytes("UTF-8"), 0));
-        assertEquals(0xd2c8c9b470122bddL, MurmurHash.hash64A_original("abc def 
ghi jkl ".getBytes("UTF-8"), 0));
-        assertEquals(0xcd37895736a81cbcL, MurmurHash.hash64A_original("abc def 
ghi jkl moreGoo".getBytes("UTF-8"), 0));
+        assertEquals(0x9cc9c33498a95efbL, 
MurmurHash.hash64AOriginal("abc".getBytes("UTF-8"), 0));
+        assertEquals(0xd2c8c9b470122bddL, MurmurHash.hash64AOriginal("abc def 
ghi jkl ".getBytes("UTF-8"), 0));
+        assertEquals(0xcd37895736a81cbcL, MurmurHash.hash64AOriginal("abc def 
ghi jkl moreGoo".getBytes("UTF-8"), 0));
     }
 
     @Test
@@ -60,8 +61,8 @@ public class MurmurHashTest extends Test
     @Test
     public void testHashNio() throws UnsupportedEncodingException {
         // test data generated by running MurmurHashNeutral2.cpp
-        assertEquals(0x13577c9b, 
MurmurHash.hash_original("abc".getBytes("UTF-8"), 0));
-        assertEquals(0x6fec441b, MurmurHash.hash_original("abc def ghi jkl 
".getBytes("UTF-8"), 0));
-        assertEquals(0x7e953277, MurmurHash.hash_original("abc def ghi jkl 
moreGoo".getBytes("UTF-8"), 0));
+        assertEquals(0x13577c9b, 
MurmurHash.hashOriginal("abc".getBytes("UTF-8"), 0));
+        assertEquals(0x6fec441b, MurmurHash.hashOriginal("abc def ghi jkl 
".getBytes("UTF-8"), 0));
+        assertEquals(0x7e953277, MurmurHash.hashOriginal("abc def ghi jkl 
moreGoo".getBytes("UTF-8"), 0));
     }
 }

Copied: 
mahout/trunk/core/src/test/java/org/apache/mahout/vectors/TextValueEncoderTest.java
 (from r986125, 
mahout/trunk/core/src/test/java/org/apache/mahout/classifier/sgd/TextValueEncoderTest.java)
URL: 
http://svn.apache.org/viewvc/mahout/trunk/core/src/test/java/org/apache/mahout/vectors/TextValueEncoderTest.java?p2=mahout/trunk/core/src/test/java/org/apache/mahout/vectors/TextValueEncoderTest.java&p1=mahout/trunk/core/src/test/java/org/apache/mahout/classifier/sgd/TextValueEncoderTest.java&r1=986125&r2=986372&rev=986372&view=diff
==============================================================================
--- 
mahout/trunk/core/src/test/java/org/apache/mahout/classifier/sgd/TextValueEncoderTest.java
 (original)
+++ 
mahout/trunk/core/src/test/java/org/apache/mahout/vectors/TextValueEncoderTest.java
 Tue Aug 17 16:22:05 2010
@@ -15,11 +15,13 @@
  * limitations under the License.
  */
 
-package org.apache.mahout.classifier.sgd;
+package org.apache.mahout.vectors;
 
 import com.google.common.collect.ImmutableMap;
 import org.apache.mahout.math.DenseVector;
 import org.apache.mahout.math.Vector;
+import org.apache.mahout.vectors.StaticWordValueEncoder;
+import org.apache.mahout.vectors.TextValueEncoder;
 import org.junit.Test;
 
 import static org.junit.Assert.assertEquals;

Copied: 
mahout/trunk/core/src/test/java/org/apache/mahout/vectors/WordLikeValueEncoderTest.java
 (from r986125, 
mahout/trunk/core/src/test/java/org/apache/mahout/classifier/sgd/WordLikeValueEncoderTest.java)
URL: 
http://svn.apache.org/viewvc/mahout/trunk/core/src/test/java/org/apache/mahout/vectors/WordLikeValueEncoderTest.java?p2=mahout/trunk/core/src/test/java/org/apache/mahout/vectors/WordLikeValueEncoderTest.java&p1=mahout/trunk/core/src/test/java/org/apache/mahout/classifier/sgd/WordLikeValueEncoderTest.java&r1=986125&r2=986372&rev=986372&view=diff
==============================================================================
--- 
mahout/trunk/core/src/test/java/org/apache/mahout/classifier/sgd/WordLikeValueEncoderTest.java
 (original)
+++ 
mahout/trunk/core/src/test/java/org/apache/mahout/vectors/WordLikeValueEncoderTest.java
 Tue Aug 17 16:22:05 2010
@@ -15,12 +15,15 @@
  * limitations under the License.
  */
 
-package org.apache.mahout.classifier.sgd;
+package org.apache.mahout.vectors;
 
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
 import org.apache.mahout.math.DenseVector;
 import org.apache.mahout.math.Vector;
+import org.apache.mahout.vectors.AdaptiveWordValueEncoder;
+import org.apache.mahout.vectors.FeatureVectorEncoder;
+import org.apache.mahout.vectors.StaticWordValueEncoder;
 import org.junit.Test;
 
 import java.util.Iterator;


Reply via email to