Author: srowen
Date: Mon Aug 30 18:39:35 2010
New Revision: 990891
URL: http://svn.apache.org/viewvc?rev=990891&view=rev
Log:
Put back Locale.ENGLISH for consistent string format output
Modified:
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/AdaptiveLogisticRegression.java
mahout/trunk/core/src/main/java/org/apache/mahout/ep/State.java
mahout/trunk/core/src/main/java/org/apache/mahout/ep/ThreadedEvolutionaryProcess.java
mahout/trunk/core/src/main/java/org/apache/mahout/vectors/InteractionValueEncoder.java
mahout/trunk/core/src/main/java/org/apache/mahout/vectors/WordValueEncoder.java
mahout/trunk/core/src/test/java/org/apache/mahout/ep/ThreadedEvolutionaryProcessTest.java
mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/Property.java
Modified:
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/AdaptiveLogisticRegression.java
URL:
http://svn.apache.org/viewvc/mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/AdaptiveLogisticRegression.java?rev=990891&r1=990890&r2=990891&view=diff
==============================================================================
---
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/AdaptiveLogisticRegression.java
(original)
+++
mahout/trunk/core/src/main/java/org/apache/mahout/classifier/sgd/AdaptiveLogisticRegression.java
Mon Aug 30 18:39:35 2010
@@ -1,3 +1,20 @@
+/**
+ * Licensed to the Apache Software Foundation (ASF) under one or more
+ * contributor license agreements. See the NOTICE file distributed with
+ * this work for additional information regarding copyright ownership.
+ * The ASF licenses this file to You under the Apache License, Version 2.0
+ * (the "License"); you may not use this file except in compliance with
+ * the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
package org.apache.mahout.classifier.sgd;
import com.google.common.collect.Lists;
@@ -9,6 +26,7 @@ import org.apache.mahout.ep.State;
import org.apache.mahout.math.Vector;
import java.util.List;
+import java.util.Locale;
import java.util.concurrent.ExecutionException;
/**
@@ -36,13 +54,13 @@ public class AdaptiveLogisticRegression
private int record = 0;
private int evaluationInterval = 1000;
- List<TrainingExample> buffer = Lists.newArrayList();
+ private final List<TrainingExample> buffer = Lists.newArrayList();
private EvolutionaryProcess<Wrapper> ep;
private State<Wrapper> best;
private int threadCount = 20;
private int poolSize = 20;
- private State<Wrapper> seed;
- private int numFeatures;
+ private final State<Wrapper> seed;
+ private final int numFeatures;
public AdaptiveLogisticRegression(int numCategories, int numFeatures,
PriorFunction prior) {
this.numFeatures = numFeatures;
@@ -71,21 +89,22 @@ public class AdaptiveLogisticRegression
private void trainWithBufferedExamples() {
try {
this.best = ep.parallelDo(new EvolutionaryProcess.Function<Wrapper>() {
+ @Override
public double apply(Wrapper x, double[] params) {
for (TrainingExample example : buffer) {
x.train(example);
}
- if (!x.getLearner().validModel()) {
- return Double.NaN;
- } else {
+ if (x.getLearner().validModel()) {
return x.wrapped.auc();
+ } else {
+ return Double.NaN;
}
}
});
} catch (InterruptedException e) {
// ignore ... shouldn't happen
} catch (ExecutionException e) {
- throw new RuntimeException(e);
+ throw new IllegalStateException(e);
}
ep.mutatePopulation(2);
@@ -148,10 +167,10 @@ public class AdaptiveLogisticRegression
* @return The AUC of the best member of the population or NaN if we can't
figure that out.
*/
public double auc() {
- if (best != null) {
- return best.getPayload().getLearner().auc();
- } else {
+ if (best == null) {
return Double.NaN;
+ } else {
+ return best.getPayload().getLearner().auc();
}
}
@@ -171,9 +190,9 @@ public class AdaptiveLogisticRegression
* offset is done.
*/
public static class Wrapper implements Payload<Wrapper> {
- private static volatile int counter = 0;
+ //private static volatile int counter = 0;
- private volatile int id = counter++;
+ //private volatile int id = counter++;
private CrossFoldLearner wrapped;
private Wrapper() {
@@ -204,7 +223,7 @@ public class AdaptiveLogisticRegression
public void setMappings(State<Wrapper> x) {
int i = 0;
- x.setMap(i++, Mapping.logLimit(1e-8, 0.1));
+ x.setMap(i++, Mapping.logLimit(1.0e-8, 0.1));
x.setMap(i++, Mapping.softLimit(0.001, 10));
}
@@ -218,14 +237,14 @@ public class AdaptiveLogisticRegression
@Override
public String toString() {
- return String.format("auc=%.2f", wrapped.auc());
+ return String.format(Locale.ENGLISH, "auc=%.2f", wrapped.auc());
}
}
public static class TrainingExample {
- private long key;
- private int actual;
- private Vector instance;
+ private final long key;
+ private final int actual;
+ private final Vector instance;
public TrainingExample(long key, int actual, Vector instance) {
this.key = key;
Modified: mahout/trunk/core/src/main/java/org/apache/mahout/ep/State.java
URL:
http://svn.apache.org/viewvc/mahout/trunk/core/src/main/java/org/apache/mahout/ep/State.java?rev=990891&r1=990890&r2=990891&view=diff
==============================================================================
--- mahout/trunk/core/src/main/java/org/apache/mahout/ep/State.java (original)
+++ mahout/trunk/core/src/main/java/org/apache/mahout/ep/State.java Mon Aug 30
18:39:35 2010
@@ -1,6 +1,7 @@
package org.apache.mahout.ep;
import java.util.Arrays;
+import java.util.Locale;
import java.util.Random;
/**
@@ -120,11 +121,7 @@ public class State<T extends Payload<T>>
*/
public double get(int i) {
Mapping m = maps[i];
- if (m == null) {
- return params[i];
- } else {
- return m.apply(params[i]);
- }
+ return m == null ? params[i] : m.apply(params[i]);
}
/**
@@ -181,10 +178,10 @@ public class State<T extends Payload<T>>
@Override
public int compareTo(State other) {
int r = Double.compare(other.value, this.value);
- if (r != 0) {
- return r;
- } else {
+ if (r == 0) {
return this.id - other.id;
+ } else {
+ return r;
}
}
@@ -193,6 +190,6 @@ public class State<T extends Payload<T>>
for (double v : step) {
sum += v * v;
}
- return String.format("<S/%s %.3f %.3f>", payload, omni + Math.sqrt(sum),
value);
+ return String.format(Locale.ENGLISH, "<S/%s %.3f %.3f>", payload, omni +
Math.sqrt(sum), value);
}
}
Modified:
mahout/trunk/core/src/main/java/org/apache/mahout/ep/ThreadedEvolutionaryProcess.java
URL:
http://svn.apache.org/viewvc/mahout/trunk/core/src/main/java/org/apache/mahout/ep/ThreadedEvolutionaryProcess.java?rev=990891&r1=990890&r2=990891&view=diff
==============================================================================
---
mahout/trunk/core/src/main/java/org/apache/mahout/ep/ThreadedEvolutionaryProcess.java
(original)
+++
mahout/trunk/core/src/main/java/org/apache/mahout/ep/ThreadedEvolutionaryProcess.java
Mon Aug 30 18:39:35 2010
@@ -6,6 +6,7 @@ import com.google.common.collect.Sets;
import java.util.Deque;
import java.util.Iterator;
import java.util.LinkedList;
+import java.util.Locale;
import java.util.Map;
import java.util.PriorityQueue;
import java.util.Set;
@@ -107,7 +108,7 @@ public class ThreadedEvolutionaryProcess
@Override
public String toString() {
- return String.format("Launched %d function evaluations\nMaximum threading
width was %d", processCount, maxTask);
+ return String.format(Locale.ENGLISH, "Launched %d function
evaluations\nMaximum threading width was %d", processCount, maxTask);
}
public class EvalTask implements Callable<State> {
Modified:
mahout/trunk/core/src/main/java/org/apache/mahout/vectors/InteractionValueEncoder.java
URL:
http://svn.apache.org/viewvc/mahout/trunk/core/src/main/java/org/apache/mahout/vectors/InteractionValueEncoder.java?rev=990891&r1=990890&r2=990891&view=diff
==============================================================================
---
mahout/trunk/core/src/main/java/org/apache/mahout/vectors/InteractionValueEncoder.java
(original)
+++
mahout/trunk/core/src/main/java/org/apache/mahout/vectors/InteractionValueEncoder.java
Mon Aug 30 18:39:35 2010
@@ -19,15 +19,17 @@ package org.apache.mahout.vectors;
import org.apache.mahout.math.Vector;
+import java.util.Locale;
+
public class InteractionValueEncoder extends FeatureVectorEncoder {
protected static final int INTERACTION_VALUE_HASH_SEED_1 = 100;
protected static final int INTERACTION_VALUE_HASH_SEED_2 = 200;
- private String name1;
- private String name2;
+ private final String name1;
+ private final String name2;
protected InteractionValueEncoder(String name1, String name2) {
- super(name1 + ":" + name2, 2);
+ super(name1 + ':' + name2, 2);
this.name1 = name1;
this.name2 = name2;
}
@@ -52,10 +54,9 @@ public class InteractionValueEncoder ext
*/
public void addToVector(String originalForm1, String originalForm2, Vector
data) {
int probes = getProbes();
- String name = getName();
for (int i = 0; i < probes; i++) {
int n = hash(name1, originalForm1, name2, originalForm2, i, data.size());
- trace(String.format("%s:%s", originalForm1, originalForm2), n);
+ trace(String.format(Locale.ENGLISH, "%s:%s", originalForm1,
originalForm2), n);
data.set(n, data.get(n) + 1);
}
}
@@ -70,7 +71,7 @@ public class InteractionValueEncoder ext
*/
@Override
public String asString(String originalForm) {
- return String.format("%s:%s", getName(), originalForm);
+ return String.format(Locale.ENGLISH, "%s:%s", getName(), originalForm);
}
}
Modified:
mahout/trunk/core/src/main/java/org/apache/mahout/vectors/WordValueEncoder.java
URL:
http://svn.apache.org/viewvc/mahout/trunk/core/src/main/java/org/apache/mahout/vectors/WordValueEncoder.java?rev=990891&r1=990890&r2=990891&view=diff
==============================================================================
---
mahout/trunk/core/src/main/java/org/apache/mahout/vectors/WordValueEncoder.java
(original)
+++
mahout/trunk/core/src/main/java/org/apache/mahout/vectors/WordValueEncoder.java
Mon Aug 30 18:39:35 2010
@@ -59,7 +59,7 @@ public abstract class WordValueEncoder e
*/
@Override
public String asString(String originalForm) {
- return String.format("%s:%s:%.4f", getName(), originalForm,
weight(originalForm));
+ return String.format(Locale.ENGLISH, "%s:%s:%.4f", getName(),
originalForm, weight(originalForm));
}
protected abstract double weight(String originalForm);
Modified:
mahout/trunk/core/src/test/java/org/apache/mahout/ep/ThreadedEvolutionaryProcessTest.java
URL:
http://svn.apache.org/viewvc/mahout/trunk/core/src/test/java/org/apache/mahout/ep/ThreadedEvolutionaryProcessTest.java?rev=990891&r1=990890&r2=990891&view=diff
==============================================================================
---
mahout/trunk/core/src/test/java/org/apache/mahout/ep/ThreadedEvolutionaryProcessTest.java
(original)
+++
mahout/trunk/core/src/test/java/org/apache/mahout/ep/ThreadedEvolutionaryProcessTest.java
Mon Aug 30 18:39:35 2010
@@ -3,6 +3,7 @@ package org.apache.mahout.ep;
import org.junit.Assert;
import org.junit.Test;
+import java.util.Locale;
import java.util.Random;
import java.util.concurrent.ExecutionException;
@@ -39,7 +40,7 @@ public class ThreadedEvolutionaryProcess
double[] r = x.getMappedParams();
int i = 0;
for (double v : r) {
- Assert.assertEquals(String.format("Coordinate %d", i), i, v, 0.02);
+ Assert.assertEquals(String.format(Locale.ENGLISH, "Coordinate %d", i),
i, v, 0.02);
i++;
}
}
Modified:
mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/Property.java
URL:
http://svn.apache.org/viewvc/mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/Property.java?rev=990891&r1=990890&r2=990891&view=diff
==============================================================================
---
mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/Property.java
(original)
+++
mahout/trunk/math/src/main/java/org/apache/mahout/math/matrix/linalg/Property.java
Mon Aug 30 18:39:35 2010
@@ -19,6 +19,7 @@ import org.apache.mahout.math.matrix.imp
import org.apache.mahout.math.matrix.impl.AbstractMatrix2D;
import java.util.Formatter;
+import java.util.Locale;
import java.util.TreeMap;
/** @deprecated until unit tests are in place. Until this time, this
class/interface is unsupported. */
@@ -1026,7 +1027,7 @@ public class Property extends Persistent
for (String key : messages.keySet()) {
maxLength = Math.max(key.length(), maxLength);
}
- String format = String.format("\\%%ds: \\%s\n", maxLength);
+ String format = String.format(Locale.ENGLISH, "\\%%ds: \\%s\n", maxLength);
Formatter r = new Formatter();
for (String key : messages.keySet()) {