Author: srowen
Date: Fri Jun 12 21:34:25 2009
New Revision: 784283
URL: http://svn.apache.org/viewvc?rev=784283&view=rev
Log:
Try to avoid some boxing/unboxing and other small tweaks
Modified:
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/similarity/AveragingPreferenceInferrer.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/classifier/bayes/BayesClassifier.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/classifier/cbayes/CBayesClassifier.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/DirichletState.java
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/FuzzyKMeansReducer.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/matrix/AbstractVector.java
Modified:
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/similarity/AveragingPreferenceInferrer.java
URL:
http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/similarity/AveragingPreferenceInferrer.java?rev=784283&r1=784282&r2=784283&view=diff
==============================================================================
---
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/similarity/AveragingPreferenceInferrer.java
(original)
+++
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/cf/taste/impl/similarity/AveragingPreferenceInferrer.java
Fri Jun 12 21:34:25 2009
@@ -39,7 +39,6 @@
public final class AveragingPreferenceInferrer implements PreferenceInferrer {
private static final Retriever<User, Double> RETRIEVER = new PrefRetriever();
- private static final Double ZERO = 0.0;
private final Cache<User, Double> averagePreferenceValue;
@@ -62,7 +61,7 @@
}
private static final class PrefRetriever implements Retriever<User, Double> {
-
+ private static final Double ZERO = Double.valueOf(0.0);
@Override
public Double get(User key) {
RunningAverage average = new FullRunningAverage();
Modified:
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/classifier/bayes/BayesClassifier.java
URL:
http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/classifier/bayes/BayesClassifier.java?rev=784283&r1=784282&r2=784283&view=diff
==============================================================================
---
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/classifier/bayes/BayesClassifier.java
(original)
+++
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/classifier/bayes/BayesClassifier.java
Fri Jun 12 21:34:25 2009
@@ -105,18 +105,17 @@
*/
@Override
public double documentWeight(Model model, String label, String[] document) {
- Map<String, Integer[]> wordList = new HashMap<String, Integer[]>(1000);
+ Map<String, int[]> wordList = new HashMap<String, int[]>(1000);
for (String word : document) {
- Integer [] count = wordList.get(word);
+ int[] count = wordList.get(word);
if (count == null) {
- count = new Integer[1];
- count[0] = 0;
+ count = new int[] { 0 };
wordList.put(word, count);
}
count[0]++;
}
double result = 0.0;
- for (Map.Entry<String, Integer[]> entry : wordList.entrySet()) {
+ for (Map.Entry<String, int[]> entry : wordList.entrySet()) {
String word = entry.getKey();
int count = entry.getValue()[0];
result += count * model.featureWeight(label, word);
Modified:
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/classifier/cbayes/CBayesClassifier.java
URL:
http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/classifier/cbayes/CBayesClassifier.java?rev=784283&r1=784282&r2=784283&view=diff
==============================================================================
---
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/classifier/cbayes/CBayesClassifier.java
(original)
+++
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/classifier/cbayes/CBayesClassifier.java
Fri Jun 12 21:34:25 2009
@@ -103,18 +103,17 @@
*/
@Override
public double documentWeight(Model model, String label, String[] document) {
- Map<String, Integer[]> wordList = new HashMap<String, Integer[]>(1000);
+ Map<String, int[]> wordList = new HashMap<String, int[]>(1000);
for (String word : document) {
- Integer [] count = wordList.get(word);
+ int[] count = wordList.get(word);
if (count == null) {
- count = new Integer[1];
- count[0] = 0;
+ count = new int[] { 0 };
wordList.put(word, count);
}
count[0]++;
}
double result = 0.0;
- for (Map.Entry<String, Integer[]> entry : wordList.entrySet()) {
+ for (Map.Entry<String, int[]> entry : wordList.entrySet()) {
String word = entry.getKey();
int count = entry.getValue()[0];
result += count * model.featureWeight(label, word);
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=784283&r1=784282&r2=784283&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 Jun 12 21:34:25 2009
@@ -17,7 +17,6 @@
package org.apache.mahout.clustering.dirichlet;
-import java.io.FileNotFoundException;
import java.io.IOException;
import org.apache.hadoop.fs.FileSystem;
@@ -101,7 +100,7 @@
private static void writeInitialState(String output, String stateIn,
String modelFactory, int numModels, double alpha_0)
throws ClassNotFoundException, InstantiationException,
- IllegalAccessException, FileNotFoundException, IOException {
+ IllegalAccessException, IOException {
DirichletState<Vector> state = createState(modelFactory, numModels,
alpha_0);
JobConf job = new JobConf(KMeansDriver.class);
Path outPath = new Path(output);
@@ -125,9 +124,8 @@
Class<?> cl = ccl.loadClass(modelFactory);
ModelDistribution<Vector> factory = (ModelDistribution<Vector>) cl
.newInstance();
- DirichletState<Vector> state = new DirichletState<Vector>(factory,
+ return new DirichletState<Vector>(factory,
numModels, alpha_0, 1, 1);
- return state;
}
/**
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=784283&r1=784282&r2=784283&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 Jun 12 21:34:25 2009
@@ -86,10 +86,7 @@
public double adjustedProbability(Observation x, int k) {
double pdf = clusters.get(k).model.pdf(x);
double mix = mixture.get(k);
- double result = mix * pdf;
- //if (result < 0 || result > 1)
- // System.out.print("");
- return result;
+ return mix * pdf;
}
@SuppressWarnings("unchecked")
Modified:
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/FuzzyKMeansReducer.java
URL:
http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/FuzzyKMeansReducer.java?rev=784283&r1=784282&r2=784283&view=diff
==============================================================================
---
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/FuzzyKMeansReducer.java
(original)
+++
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/fuzzykmeans/FuzzyKMeansReducer.java
Fri Jun 12 21:34:25 2009
@@ -58,7 +58,7 @@
// to
// split
// prob and vector
- double partialSumPtProb = new Double(value.substring(0, index));
+ double partialSumPtProb = Double.parseDouble(value.substring(0, index));
Vector total = AbstractVector.decodeVector(value.substring(index + 1));
if (mapperSepIndex != -1) // escaped from combiner
{
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=784283&r1=784282&r2=784283&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 Jun 12 21:34:25 2009
@@ -227,8 +227,8 @@
clusterDistance = MINIMAL_VALUE;
}
double denom = 0.0;
- for (Double eachCDist : clusterDistanceList) {
- if (eachCDist == 0)
+ for (double eachCDist : clusterDistanceList) {
+ if (eachCDist == 0.0)
eachCDist = MINIMAL_VALUE;
denom += Math.pow(clusterDistance / eachCDist, 2.0 / (m - 1));
Modified:
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/matrix/AbstractVector.java
URL:
http://svn.apache.org/viewvc/lucene/mahout/trunk/core/src/main/java/org/apache/mahout/matrix/AbstractVector.java?rev=784283&r1=784282&r2=784283&view=diff
==============================================================================
---
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/matrix/AbstractVector.java
(original)
+++
lucene/mahout/trunk/core/src/main/java/org/apache/mahout/matrix/AbstractVector.java
Fri Jun 12 21:34:25 2009
@@ -116,34 +116,32 @@
return divide(divSq);
}
+ @Override
public Vector normalize(double power){
- if (power < 0){
+ if (power < 0.0){
throw new IllegalArgumentException("Power must be >= 0");
}
- double val = 0;
//we can special case certain powers
if (Double.isInfinite(power)) {
- val = maxValue();
- return divide(val);
- } else if (power == 2) {
+ return divide(maxValue());
+ } else if (power == 2.0) {
return normalize();
- } else if (power == 1) {
- val = zSum();
- return divide(val);
- } else if (power == 0) {
+ } else if (power == 1.0) {
+ return divide(zSum());
+ } else if (power == 0.0) {
// this is the number of non-zero elements
+ double val = 0.0;
for (int i = 0; i < cardinality(); i++) {
- val += getQuick(i) != 0 ? 1 : 0;
+ val += getQuick(i) == 0 ? 0 : 1;
}
return divide(val);
- } else if (power > 0) {
+ } else {
+ double val = 0.0;
for (int i = 0; i < cardinality(); i++) {
val += Math.pow(getQuick(i), power);
}
double divFactor = Math.pow(val, 1.0 / power);
return divide(divFactor);
- } else {
- throw new IllegalArgumentException("Unreachable");
}
}