Author: jeastman
Date: Thu Dec 22 20:43:26 2011
New Revision: 1222443
URL: http://svn.apache.org/viewvc?rev=1222443&view=rev
Log:
MAHOUT-846: Minor refactoring to eliminate unnecessary vector.times(SQRT2PI)
Modified:
mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/GaussianCluster.java
Modified:
mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/GaussianCluster.java
URL:
http://svn.apache.org/viewvc/mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/GaussianCluster.java?rev=1222443&r1=1222442&r2=1222443&view=diff
==============================================================================
---
mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/GaussianCluster.java
(original)
+++
mahout/trunk/core/src/main/java/org/apache/mahout/clustering/dirichlet/models/GaussianCluster.java
Thu Dec 22 20:43:26 2011
@@ -52,16 +52,14 @@ public class GaussianCluster extends Abs
public double pdf(VectorWritable vw) {
Vector x = vw.get();
Vector m = getCenter();
- Vector s = getRadius().plus(0.0000001); // add a small prior to avoid
divide
- // by zero
- return Math.exp(-(divideSquareAndSum(x.minus(m), s) / 2))
- / zProd(s.times(UncommonDistributions.SQRT2PI));
+ Vector s = getRadius().plus(0.0000001); // add a small prior to avoid
divide by zero
+ return Math.exp(-(divideSquareAndSum(x.minus(m), s) / 2)) / zProdSqt2Pi(s);
}
- private double zProd(Vector s) {
+ private double zProdSqt2Pi(Vector s) {
double prod = 1;
for (int i = 0; i < s.size(); i++) {
- prod *= s.getQuick(i);
+ prod *= s.getQuick(i) * UncommonDistributions.SQRT2PI;
}
return prod;
}