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/02/12 14:04:17 UTC
svn commit: r909391 - in /lucene/mahout/trunk/core/src:
main/java/org/apache/mahout/clustering/
main/java/org/apache/mahout/clustering/canopy/
main/java/org/apache/mahout/clustering/dirichlet/
main/java/org/apache/mahout/clustering/dirichlet/models/ ma...
Author: srowen
Date: Fri Feb 12 13:04:16 2010
New Revision: 909391
URL: http://svn.apache.org/viewvc?rev=909391&view=rev
Log:
Remove VectorWritable.readVector for thread safety reasons, other code style changes
Modified:
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/ClusterBase.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/Canopy.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/CanopyClusteringJob.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/CanopyDriver.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/ClusterDriver.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletCluster.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletDriver.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletJob.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletState.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/JsonClusterAdapter.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/AsymmetricSampledNormalModel.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/L1Model.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/NormalModel.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/SampledNormalModel.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/FuzzyKMeansDriver.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/FuzzyKMeansInfo.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/FuzzyKMeansJob.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/SoftCluster.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/kmeans/Cluster.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/kmeans/KMeansDriver.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/kmeans/KMeansInfo.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/meanshift/MeanShiftCanopy.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/df/DFUtils.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/df/mapred/partial/Step0Job.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/df/tools/FrequenciesJob.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/fpm/pfpgrowth/FPGrowthDriver.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/fpm/pfpgrowth/convertors/string/StringOutputConverter.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/fpm/pfpgrowth/convertors/string/StringTupleIterator.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/math/MultiLabelVectorWritable.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/math/VectorWritable.java
lucene/mahout/trunk/core/src/test/java/org/apache/mahout/df/mapred/partial/PartialBuilderTest.java
lucene/mahout/trunk/core/src/test/java/org/apache/mahout/df/mapreduce/partial/PartialSequentialBuilder.java
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/ClusterBase.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/ClusterBase.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/ClusterBase.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/ClusterBase.java Fri Feb 12 13:04:16 2010
@@ -57,11 +57,11 @@
double elem = v.get(i);
if (elem == 0.0)
continue;
- String label = null;
+ String label;
if (bindings != null && (label = bindings[i]) != null)
- buf.append(label).append(":");
+ buf.append(label).append(':');
else
- buf.append(i).append(":");
+ buf.append(i).append(':');
buf.append(String.format("%.3f", elem)).append(", ");
}
} else {
@@ -124,11 +124,10 @@
* @deprecated
* @return
*/
+ @Deprecated
public abstract String asFormatString();
- /* (non-Javadoc)
- * @see org.apache.mahout.clustering.Printable#asFormatString(java.lang.String[])
- */
+ @Override
public String asFormatString(String[] bindings) {
StringBuilder buf = new StringBuilder();
buf.append(getIdentifier()).append(": ").append(formatVector(computeCentroid(), bindings));
@@ -139,9 +138,7 @@
public abstract Object getIdentifier();
- /* (non-Javadoc)
- * @see org.apache.mahout.clustering.Printable#asJsonString(java.util.Map)
- */
+ @Override
public String asJsonString() {
Type vectorType = new TypeToken<Vector>() {
}.getType();
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/Canopy.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/Canopy.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/Canopy.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/Canopy.java Fri Feb 12 13:04:16 2010
@@ -61,7 +61,9 @@
@Override
public void readFields(DataInput in) throws IOException {
super.readFields(in);
- this.setCenter(VectorWritable.readVector(in));
+ VectorWritable temp = new VectorWritable();
+ temp.readFields(in);
+ this.setCenter(temp.get());
this.setPointTotal(getCenter().clone());
this.setNumPoints(1);
}
@@ -122,6 +124,7 @@
return getIdentifier() + " - " + getCenter().asFormatString();
}
+ @Override
public String getIdentifier() {
return "C" + getId();
}
@@ -132,6 +135,7 @@
*
* @return a RandomAccessSparseVector (required by Mapper) which is the new centroid
*/
+ @Override
public Vector computeCentroid() {
return getPointTotal().divide(getNumPoints());
}
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/CanopyClusteringJob.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/CanopyClusteringJob.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/CanopyClusteringJob.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/CanopyClusteringJob.java Fri Feb 12 13:04:16 2010
@@ -51,7 +51,7 @@
/**
* @param args
*/
- public static void main(String[] args) throws IOException, ClassNotFoundException {
+ public static void main(String[] args) throws IOException {
DefaultOptionBuilder obuilder = new DefaultOptionBuilder();
ArgumentBuilder abuilder = new ArgumentBuilder();
GroupBuilder gbuilder = new GroupBuilder();
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/CanopyDriver.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/CanopyDriver.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/CanopyDriver.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/CanopyDriver.java Fri Feb 12 13:04:16 2010
@@ -50,7 +50,7 @@
private CanopyDriver() {
}
- public static void main(String[] args) throws IOException, ClassNotFoundException {
+ public static void main(String[] args) throws IOException {
DefaultOptionBuilder obuilder = new DefaultOptionBuilder();
ArgumentBuilder abuilder = new ArgumentBuilder();
GroupBuilder gbuilder = new GroupBuilder();
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/ClusterDriver.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/ClusterDriver.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/ClusterDriver.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/canopy/ClusterDriver.java Fri Feb 12 13:04:16 2010
@@ -53,7 +53,7 @@
private ClusterDriver() {
}
- public static void main(String[] args) throws IOException, ClassNotFoundException {
+ public static void main(String[] args) throws IOException {
DefaultOptionBuilder obuilder = new DefaultOptionBuilder();
ArgumentBuilder abuilder = new ArgumentBuilder();
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletCluster.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletCluster.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletCluster.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletCluster.java Fri Feb 12 13:04:16 2010
@@ -81,7 +81,6 @@
}.getType();
/** Reads a typed Model instance from the input stream */
- @SuppressWarnings("unchecked")
public static <O> Model<O> readModel(DataInput in) throws IOException {
String modelClassName = in.readUTF();
Model<O> model;
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletDriver.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletDriver.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletDriver.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletDriver.java Fri Feb 12 13:04:16 2010
@@ -137,10 +137,6 @@
* @param maxIterations the maximum number of iterations
* @param alpha_0 the alpha_0 value for the DirichletDistribution
* @param numReducers the number of Reducers desired
- * @throws InvocationTargetException
- * @throws NoSuchMethodException
- * @throws IllegalArgumentException
- * @throws SecurityException
* @deprecated since it presumes 2-d, dense vector model prototypes
*/
@Deprecated
@@ -166,15 +162,18 @@
* @param maxIterations the maximum number of iterations
* @param alpha_0 the alpha_0 value for the DirichletDistribution
* @param numReducers the number of Reducers desired
- * @throws InvocationTargetException
- * @throws NoSuchMethodException
- * @throws IllegalArgumentException
- * @throws SecurityException
*/
- public static void runJob(String input, String output, String modelFactory, String modelPrototype, int prototypeSize,
- int numClusters, int maxIterations, double alpha_0, int numReducers) throws ClassNotFoundException, InstantiationException,
- IllegalAccessException, IOException, SecurityException, NoSuchMethodException,
- InvocationTargetException {
+ public static void runJob(String input,
+ String output,
+ String modelFactory,
+ String modelPrototype,
+ int prototypeSize,
+ int numClusters,
+ int maxIterations,
+ double alpha_0,
+ int numReducers)
+ throws ClassNotFoundException, InstantiationException, IllegalAccessException, IOException,
+ SecurityException, NoSuchMethodException, InvocationTargetException {
String stateIn = output + "/state-0";
writeInitialState(output, stateIn, modelFactory, modelPrototype, prototypeSize, numClusters, alpha_0);
@@ -189,10 +188,15 @@
}
}
- private static void writeInitialState(String output, String stateIn, String modelFactory, String modelPrototype,
- int prototypeSize, int numModels, double alpha_0) throws ClassNotFoundException, InstantiationException,
- IllegalAccessException, IOException, SecurityException, NoSuchMethodException,
- InvocationTargetException {
+ private static void writeInitialState(String output,
+ String stateIn,
+ String modelFactory,
+ String modelPrototype,
+ int prototypeSize,
+ int numModels,
+ double alpha_0)
+ throws ClassNotFoundException, InstantiationException, IllegalAccessException, IOException,
+ SecurityException, NoSuchMethodException, InvocationTargetException {
DirichletState<VectorWritable> state = createState(modelFactory, modelPrototype, prototypeSize, numModels, alpha_0);
JobConf job = new JobConf(KMeansDriver.class);
@@ -218,17 +222,15 @@
* @param numModels an int number of models to be created
* @param alpha_0 the double alpha_0 argument to the algorithm
* @return an initialized DirichletState
- * @throws ClassNotFoundException
- * @throws InstantiationException
- * @throws IllegalAccessException
- * @throws NoSuchMethodException
- * @throws SecurityException
- * @throws InvocationTargetException
- * @throws IllegalArgumentException
*/
- public static DirichletState<VectorWritable> createState(String modelFactory, String modelPrototype, int prototypeSize,
- int numModels, double alpha_0) throws ClassNotFoundException, InstantiationException, IllegalAccessException,
+ public static DirichletState<VectorWritable> createState(String modelFactory,
+ String modelPrototype,
+ int prototypeSize,
+ int numModels,
+ double alpha_0)
+ throws ClassNotFoundException, InstantiationException, IllegalAccessException,
SecurityException, NoSuchMethodException, IllegalArgumentException, InvocationTargetException {
+
ClassLoader ccl = Thread.currentThread().getContextClassLoader();
Class<? extends VectorModelDistribution> cl = ccl.loadClass(modelFactory).asSubclass(VectorModelDistribution.class);
VectorModelDistribution factory = cl.newInstance();
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletJob.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletJob.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletJob.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletJob.java Fri Feb 12 13:04:16 2010
@@ -111,13 +111,16 @@
* @param numModels the number of Models
* @param maxIterations the maximum number of iterations
* @param alpha_0 the alpha0 value for the DirichletDistribution
- * @throws InvocationTargetException
- * @throws NoSuchMethodException
- * @throws IllegalArgumentException
- * @throws SecurityException
*/
- public static void runJob(String input, String output, String modelFactory, String modelPrototype, int prototypeSize,
- int numModels, int maxIterations, double alpha_0) throws IOException, ClassNotFoundException, InstantiationException,
+ public static void runJob(String input,
+ String output,
+ String modelFactory,
+ String modelPrototype,
+ int prototypeSize,
+ int numModels,
+ int maxIterations,
+ double alpha_0)
+ throws IOException, ClassNotFoundException, InstantiationException,
IllegalAccessException, SecurityException, NoSuchMethodException, InvocationTargetException {
// delete the output directory
Configuration conf = new JobConf(DirichletJob.class);
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletState.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletState.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletState.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/DirichletState.java Fri Feb 12 13:04:16 2010
@@ -122,7 +122,6 @@
return mix * pdf;
}
- @SuppressWarnings("unchecked")
public Model<O>[] getModels() {
Model<O>[] result = (Model<O>[]) new Model[numClusters];
for (int i = 0; i < numClusters; i++) {
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/JsonClusterAdapter.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/JsonClusterAdapter.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/JsonClusterAdapter.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/JsonClusterAdapter.java Fri Feb 12 13:04:16 2010
@@ -51,7 +51,6 @@
return obj;
}
- @SuppressWarnings("unchecked")
@Override
public DirichletCluster<?> deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
throws JsonParseException {
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/AsymmetricSampledNormalModel.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/AsymmetricSampledNormalModel.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/AsymmetricSampledNormalModel.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/AsymmetricSampledNormalModel.java Fri Feb 12 13:04:16 2010
@@ -147,6 +147,7 @@
return asFormatString(null);
}
+ @Override
public String asFormatString(String[] bindings) {
StringBuilder buf = new StringBuilder(50);
buf.append("asnm{n=").append(s0).append(" m=");
@@ -157,17 +158,22 @@
if (stdDev != null) {
buf.append(ClusterBase.formatVector(stdDev, bindings));
}
- buf.append("}");
+ buf.append('}');
return buf.toString();
}
@Override
public void readFields(DataInput in) throws IOException {
- this.mean = VectorWritable.readVector(in);
- this.stdDev = VectorWritable.readVector(in);
+ VectorWritable temp = new VectorWritable();
+ temp.readFields(in);
+ this.mean = temp.get();
+ temp.readFields(in);
+ this.stdDev = temp.get();
this.s0 = in.readInt();
- this.s1 = VectorWritable.readVector(in);
- this.s2 = VectorWritable.readVector(in);
+ temp.readFields(in);
+ this.s1 = temp.get();
+ temp.readFields(in);
+ this.s2 = temp.get();
}
@Override
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/L1Model.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/L1Model.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/L1Model.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/L1Model.java Fri Feb 12 13:04:16 2010
@@ -77,7 +77,9 @@
@Override
public void readFields(DataInput in) throws IOException {
- coefficients = VectorWritable.readVector(in);
+ VectorWritable temp = new VectorWritable();
+ temp.readFields(in);
+ coefficients = temp.get();
}
@Override
@@ -94,13 +96,14 @@
return asFormatString(null);
}
+ @Override
public String asFormatString(String[] bindings) {
StringBuilder buf = new StringBuilder();
buf.append("l1m{n=").append(count).append(" c=");
if (coefficients != null) {
buf.append(ClusterBase.formatVector(coefficients, bindings));
}
- buf.append("}");
+ buf.append('}');
return buf.toString();
}
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/NormalModel.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/NormalModel.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/NormalModel.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/NormalModel.java Fri Feb 12 13:04:16 2010
@@ -133,6 +133,7 @@
return asFormatString(null);
}
+ @Override
public String asFormatString(String[] bindings) {
StringBuilder buf = new StringBuilder();
buf.append("nm{n=").append(s0).append(" m=");
@@ -145,11 +146,15 @@
@Override
public void readFields(DataInput in) throws IOException {
- this.mean = VectorWritable.readVector(in);
+ VectorWritable temp = new VectorWritable();
+ temp.readFields(in);
+ this.mean = temp.get();
this.stdDev = in.readDouble();
this.s0 = in.readInt();
- this.s1 = VectorWritable.readVector(in);
- this.s2 = VectorWritable.readVector(in);
+ temp.readFields(in);
+ this.s1 = temp.get();
+ temp.readFields(in);
+ this.s2 = temp.get();
}
@Override
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/SampledNormalModel.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/SampledNormalModel.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/SampledNormalModel.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/SampledNormalModel.java Fri Feb 12 13:04:16 2010
@@ -45,6 +45,7 @@
return new SampledNormalModel(getMean(), getStdDev());
}
+ @Override
public String asFormatString(String[] bindings) {
StringBuilder buf = new StringBuilder();
buf.append("snm{n=").append(getS0()).append(" m=");
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/FuzzyKMeansDriver.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/FuzzyKMeansDriver.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/FuzzyKMeansDriver.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/FuzzyKMeansDriver.java Fri Feb 12 13:04:16 2010
@@ -62,7 +62,7 @@
}
- public static void main(String[] args) throws ClassNotFoundException, IOException, IllegalAccessException, InstantiationException {
+ public static void main(String[] args) throws Exception {
DefaultOptionBuilder obuilder = new DefaultOptionBuilder();
ArgumentBuilder abuilder = new ArgumentBuilder();
GroupBuilder gbuilder = new GroupBuilder();
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/FuzzyKMeansInfo.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/FuzzyKMeansInfo.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/FuzzyKMeansInfo.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/FuzzyKMeansInfo.java Fri Feb 12 13:04:16 2010
@@ -71,6 +71,8 @@
@Override
public void readFields(DataInput in) throws IOException {
this.probability = in.readDouble();
- this.pointTotal = VectorWritable.readVector(in);
+ VectorWritable temp = new VectorWritable();
+ temp.readFields(in);
+ this.pointTotal = temp.get();
}
}
\ No newline at end of file
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/FuzzyKMeansJob.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/FuzzyKMeansJob.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/FuzzyKMeansJob.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/FuzzyKMeansJob.java Fri Feb 12 13:04:16 2010
@@ -42,7 +42,7 @@
private FuzzyKMeansJob() {
}
- public static void main(String[] args) throws IOException, ClassNotFoundException {
+ public static void main(String[] args) throws IOException {
DefaultOptionBuilder obuilder = new DefaultOptionBuilder();
ArgumentBuilder abuilder = new ArgumentBuilder();
@@ -102,7 +102,7 @@
int numReduceTasks = Integer.parseInt(cmdLine.getValue(numRedOpt).toString());
boolean doCanopy = Boolean.parseBoolean(cmdLine.getValue(doCanopyOpt).toString());
float m = Float.parseFloat(cmdLine.getValue(mOpt).toString());
- String vectorClassName = cmdLine.getValue(vectorClassOpt).toString();
+ //String vectorClassName = cmdLine.getValue(vectorClassOpt).toString();
//Class<? extends Vector> vectorClass = (Class<? extends Vector>) Class.forName(vectorClassName);
runJob(input, clusters, output, measureClass, convergenceDelta,
maxIterations, numMapTasks, numReduceTasks, doCanopy, m);
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/SoftCluster.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/SoftCluster.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/SoftCluster.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/SoftCluster.java Fri Feb 12 13:04:16 2010
@@ -99,7 +99,9 @@
public void readFields(DataInput in) throws IOException {
clusterId = in.readInt();
converged = in.readBoolean();
- center = VectorWritable.readVector(in);
+ VectorWritable temp = new VectorWritable();
+ temp.readFields(in);
+ center = temp.get();
this.pointProbSum = 0;
this.weightedPointTotal = center.like();
}
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/kmeans/Cluster.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/kmeans/Cluster.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/kmeans/Cluster.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/kmeans/Cluster.java Fri Feb 12 13:04:16 2010
@@ -102,7 +102,9 @@
public void readFields(DataInput in) throws IOException {
super.readFields(in);
this.converged = in.readBoolean();
- this.setCenter(VectorWritable.readVector(in));
+ VectorWritable temp = new VectorWritable();
+ temp.readFields(in);
+ this.setCenter(temp.get());
this.setNumPoints(0);
this.setPointTotal(getCenter().like());
this.pointSquaredTotal = getCenter().like();
@@ -113,6 +115,7 @@
*
* @return the new centroid
*/
+ @Override
public Vector computeCentroid() {
if (getNumPoints() == 0) {
return getCenter();
@@ -169,12 +172,9 @@
return getIdentifier() + " - " + getCenter().asFormatString();
}
+ @Override
public String getIdentifier() {
- if (converged) {
- return "V" + getId();
- } else {
- return "C" + getId();
- }
+ return (converged ? "V" : "C") + getId();
}
/**
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/kmeans/KMeansDriver.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/kmeans/KMeansDriver.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/kmeans/KMeansDriver.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/kmeans/KMeansDriver.java Fri Feb 12 13:04:16 2010
@@ -56,8 +56,7 @@
}
/** @param args Expects 7 args and they all correspond to the order of the params in {@link #runJob} */
- public static void main(String[] args) throws ClassNotFoundException, IOException, IllegalAccessException,
- InstantiationException {
+ public static void main(String[] args) throws Exception {
DefaultOptionBuilder obuilder = new DefaultOptionBuilder();
ArgumentBuilder abuilder = new ArgumentBuilder();
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/kmeans/KMeansInfo.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/kmeans/KMeansInfo.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/kmeans/KMeansInfo.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/kmeans/KMeansInfo.java Fri Feb 12 13:04:16 2010
@@ -55,6 +55,8 @@
@Override
public void readFields(DataInput in) throws IOException {
this.points = in.readInt();
- this.pointTotal = VectorWritable.readVector(in);
+ VectorWritable temp = new VectorWritable();
+ temp.readFields(in);
+ this.pointTotal = temp.get();
}
}
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/meanshift/MeanShiftCanopy.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/meanshift/MeanShiftCanopy.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/meanshift/MeanShiftCanopy.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/meanshift/MeanShiftCanopy.java Fri Feb 12 13:04:16 2010
@@ -137,6 +137,7 @@
*
* @return a Vector which is the new centroid
*/
+ @Override
public Vector computeCentroid() {
if (getNumPoints() == 0) {
return getCenter();
@@ -153,8 +154,9 @@
return getId();
}
+ @Override
public String getIdentifier() {
- return converged ? "V" + getId() : "C" + getId();
+ return (converged ? "V" : "C") + getId();
}
void init(MeanShiftCanopy canopy) {
@@ -195,11 +197,14 @@
@Override
public void readFields(DataInput in) throws IOException {
super.readFields(in);
- this.setCenter(VectorWritable.readVector(in));
+ VectorWritable temp = new VectorWritable();
+ temp.readFields(in);
+ this.setCenter(temp.get());
int numpoints = in.readInt();
this.boundPoints = new ArrayList<Vector>();
for (int i = 0; i < numpoints; i++) {
- this.boundPoints.add(VectorWritable.readVector(in));
+ temp.readFields(in);
+ this.boundPoints.add(temp.get());
}
}
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/df/DFUtils.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/df/DFUtils.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/df/DFUtils.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/df/DFUtils.java Fri Feb 12 13:04:16 2010
@@ -156,13 +156,13 @@
*/
public static String elapsedTime(long milli) {
long seconds = milli / 1000;
- milli = milli % 1000;
+ milli %= 1000;
long minutes = seconds / 60;
- seconds = seconds % 60;
+ seconds %= 60;
long hours = minutes / 60;
- minutes = minutes % 60;
+ minutes %= 60;
return hours + "h " + minutes + "m " + seconds + "s " + milli;
}
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/df/mapred/partial/Step0Job.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/df/mapred/partial/Step0Job.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/df/mapred/partial/Step0Job.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/df/mapred/partial/Step0Job.java Fri Feb 12 13:04:16 2010
@@ -189,7 +189,7 @@
* Outputs the first key and the size of the partition
*
*/
- protected static class Step0Mapper extends MapReduceBase implements
+ static class Step0Mapper extends MapReduceBase implements
Mapper<LongWritable, Text, IntWritable, Step0Output> {
private int partition;
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/df/tools/FrequenciesJob.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/df/tools/FrequenciesJob.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/df/tools/FrequenciesJob.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/df/tools/FrequenciesJob.java Fri Feb 12 13:04:16 2010
@@ -168,7 +168,7 @@
* Outputs the first key and the label of each tuple
*
*/
- protected static class FrequenciesMapper extends
+ private static class FrequenciesMapper extends
Mapper<LongWritable, Text, LongWritable, IntWritable> {
private LongWritable firstId;
@@ -204,7 +204,7 @@
}
- protected static class FrequenciesReducer extends
+ private static class FrequenciesReducer extends
Reducer<LongWritable, IntWritable, LongWritable, Frequencies> {
private int nblabels;
@@ -237,7 +237,7 @@
* Output of the job
*
*/
- protected static class Frequencies implements Writable,
+ private static class Frequencies implements Writable,
Comparable<Frequencies>, Cloneable {
/**
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/fpm/pfpgrowth/FPGrowthDriver.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/fpm/pfpgrowth/FPGrowthDriver.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/fpm/pfpgrowth/FPGrowthDriver.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/fpm/pfpgrowth/FPGrowthDriver.java Fri Feb 12 13:04:16 2010
@@ -61,21 +61,8 @@
/**
* Run TopK FPGrowth given the input file,
- *
- * @param args
- * @throws IOException
- * @throws OptionException
- * @throws NumberFormatException
- * @throws IllegalStateException
- * @throws InterruptedException
- * @throws ClassNotFoundException
*/
- public static void main(String[] args) throws IOException,
- OptionException,
- NumberFormatException,
- IllegalStateException,
- InterruptedException,
- ClassNotFoundException {
+ public static void main(String[] args) throws Exception {
DefaultOptionBuilder obuilder = new DefaultOptionBuilder();
ArgumentBuilder abuilder = new ArgumentBuilder();
GroupBuilder gbuilder = new GroupBuilder();
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/fpm/pfpgrowth/convertors/string/StringOutputConverter.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/fpm/pfpgrowth/convertors/string/StringOutputConverter.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/fpm/pfpgrowth/convertors/string/StringOutputConverter.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/fpm/pfpgrowth/convertors/string/StringOutputConverter.java Fri Feb 12 13:04:16 2010
@@ -31,7 +31,7 @@
public final class StringOutputConverter implements
OutputCollector<String,List<Pair<List<String>,Long>>> {
- private OutputCollector<Text,TopKStringPatterns> collector;
+ private final OutputCollector<Text,TopKStringPatterns> collector;
public StringOutputConverter(OutputCollector<Text,TopKStringPatterns> collector) {
this.collector = collector;
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/fpm/pfpgrowth/convertors/string/StringTupleIterator.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/fpm/pfpgrowth/convertors/string/StringTupleIterator.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/fpm/pfpgrowth/convertors/string/StringTupleIterator.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/fpm/pfpgrowth/convertors/string/StringTupleIterator.java Fri Feb 12 13:04:16 2010
@@ -28,7 +28,7 @@
*/
public final class StringTupleIterator implements Iterator<List<String>> {
- private Iterator<StringTuple> iterator;
+ private final Iterator<StringTuple> iterator;
public StringTupleIterator(Iterator<StringTuple> iterator) {
this.iterator = iterator;
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/math/MultiLabelVectorWritable.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/math/MultiLabelVectorWritable.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/math/MultiLabelVectorWritable.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/math/MultiLabelVectorWritable.java Fri Feb 12 13:04:16 2010
@@ -69,7 +69,9 @@
for (int i = 0; i < labelSize; i++) {
labels[i] = in.readInt();
}
- Vector vector = VectorWritable.readVector(in);
+ VectorWritable temp = new VectorWritable();
+ temp.readFields(in);
+ Vector vector = temp.get();
return new MultiLabelVectorWritable(vector, labels);
}
Modified: lucene/mahout/trunk/core/src/main/java/org/apache/mahout/math/VectorWritable.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/math/VectorWritable.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/main/java/org/apache/mahout/math/VectorWritable.java (original)
+++ lucene/mahout/trunk/core/src/main/java/org/apache/mahout/math/VectorWritable.java Fri Feb 12 13:04:16 2010
@@ -19,7 +19,6 @@
import org.apache.hadoop.conf.Configured;
import org.apache.hadoop.io.Writable;
-import org.apache.hadoop.util.ReflectionUtils;
import java.io.DataInput;
import java.io.DataOutput;
@@ -28,9 +27,6 @@
public class VectorWritable extends Configured implements Writable {
private Vector vector;
- // cache most recent vector instance class name
- private static String instanceClassName;// cache most recent vector instance class
- private static Class<? extends Vector> instanceClass;
public Vector get() {
return vector;
@@ -41,11 +37,10 @@
}
public VectorWritable() {
-
}
public VectorWritable(Vector v) {
- set(v);
+ vector = v;
}
@Override
@@ -67,41 +62,23 @@
public void readFields(DataInput in) throws IOException {
try {
String vectorClassName = in.readUTF();
- Class<? extends Vector> inputClass = getConf().getClassByName(vectorClassName).asSubclass(Vector.class);
- Class<? extends Vector> vectorClass = getConf().getClass("vector.class", inputClass, Vector.class);
- vector = ReflectionUtils.newInstance(vectorClass, getConf());
+ Class<? extends Vector> vectorClass = Class.forName(vectorClassName).asSubclass(Vector.class);
+ vector = vectorClass.newInstance();
((Writable)vector).readFields(in);
} catch (ClassNotFoundException cnfe) {
throw new IOException(cnfe);
} catch (ClassCastException cce) {
throw new IOException(cce);
+ } catch (InstantiationException ie) {
+ throw new IOException(ie);
+ } catch (IllegalAccessException iae) {
+ throw new IOException(iae);
}
}
- /** Read and return a vector from the input */
- public static Vector readVector(DataInput in) throws IOException {
- String vectorClassName = in.readUTF();
- Vector vector;
- try {
- if (!vectorClassName.equals(instanceClassName)) {
- instanceClassName = vectorClassName;
- instanceClass = Class.forName(vectorClassName).asSubclass(Vector.class);
- }
- vector = instanceClass.newInstance();
- } catch (ClassNotFoundException e) {
- throw new IllegalStateException(e);
- } catch (IllegalAccessException e) {
- throw new IllegalStateException(e);
- } catch (InstantiationException e) {
- throw new IllegalStateException(e);
- }
- ((Writable)vector).readFields(in);
- return vector;
- }
-
/** Write the vector to the output */
- public static void writeVector(DataOutput out, Vector vector)
- throws IOException {
+ public static void writeVector(DataOutput out, Vector vector) throws IOException {
new VectorWritable(vector).write(out);
}
+
}
Modified: lucene/mahout/trunk/core/src/test/java/org/apache/mahout/df/mapred/partial/PartialBuilderTest.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/test/java/org/apache/mahout/df/mapred/partial/PartialBuilderTest.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/test/java/org/apache/mahout/df/mapred/partial/PartialBuilderTest.java (original)
+++ lucene/mahout/trunk/core/src/test/java/org/apache/mahout/df/mapred/partial/PartialBuilderTest.java Fri Feb 12 13:04:16 2010
@@ -152,7 +152,7 @@
return array;
}
- protected static class PartialBuilderChecker extends PartialBuilder {
+ private static class PartialBuilderChecker extends PartialBuilder {
private final Long seed;
@@ -195,7 +195,7 @@
* Mock Callback. Make sure that the callback receives the correct predictions
*
*/
- protected static class TestCallback implements PredictionCallback {
+ private static class TestCallback implements PredictionCallback {
private final TreeID[] keys;
Modified: lucene/mahout/trunk/core/src/test/java/org/apache/mahout/df/mapreduce/partial/PartialSequentialBuilder.java
URL: http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/test/java/org/apache/mahout/df/mapreduce/partial/PartialSequentialBuilder.java?rev=909391&r1=909390&r2=909391&view=diff
==============================================================================
--- lucene/mahout/trunk/core/src/test/java/org/apache/mahout/df/mapreduce/partial/PartialSequentialBuilder.java (original)
+++ lucene/mahout/trunk/core/src/test/java/org/apache/mahout/df/mapreduce/partial/PartialSequentialBuilder.java Fri Feb 12 13:04:16 2010
@@ -275,7 +275,7 @@
* Special Step1Mapper that can be configured without using a Configuration
*
*/
- protected static class MockStep1Mapper extends Step1Mapper {
+ private static class MockStep1Mapper extends Step1Mapper {
protected MockStep1Mapper(TreeBuilder treeBuilder, Dataset dataset, Long seed,
int partition, int numMapTasks, int numTrees) {
configure(false, true, treeBuilder, dataset);