Repository: incubator-samoa Updated Branches: refs/heads/master 07735f1df -> 9a6ad44f6
SAMOA-7: Unnecessary distance method in SilhouetteCoefficient.java (smarthi) closes #15 Project: http://git-wip-us.apache.org/repos/asf/incubator-samoa/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-samoa/commit/9a6ad44f Tree: http://git-wip-us.apache.org/repos/asf/incubator-samoa/tree/9a6ad44f Diff: http://git-wip-us.apache.org/repos/asf/incubator-samoa/diff/9a6ad44f Branch: refs/heads/master Commit: 9a6ad44f6d5b26847e8729b6872d79283f906183 Parents: 07735f1 Author: abifet <[email protected]> Authored: Sat Apr 4 09:43:49 2015 +0200 Committer: abifet <[email protected]> Committed: Sat Apr 4 09:43:49 2015 +0200 ---------------------------------------------------------------------- .../evaluation/measures/SilhouetteCoefficient.java | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-samoa/blob/9a6ad44f/samoa-api/src/main/java/com/yahoo/labs/samoa/evaluation/measures/SilhouetteCoefficient.java ---------------------------------------------------------------------- diff --git a/samoa-api/src/main/java/com/yahoo/labs/samoa/evaluation/measures/SilhouetteCoefficient.java b/samoa-api/src/main/java/com/yahoo/labs/samoa/evaluation/measures/SilhouetteCoefficient.java index 146d17a..42ddd50 100644 --- a/samoa-api/src/main/java/com/yahoo/labs/samoa/evaluation/measures/SilhouetteCoefficient.java +++ b/samoa-api/src/main/java/com/yahoo/labs/samoa/evaluation/measures/SilhouetteCoefficient.java @@ -24,10 +24,11 @@ import com.yahoo.labs.samoa.moa.cluster.Cluster; import com.yahoo.labs.samoa.moa.cluster.Clustering; import com.yahoo.labs.samoa.moa.evaluation.MeasureCollection; import com.yahoo.labs.samoa.moa.core.DataPoint; + import java.util.ArrayList; public class SilhouetteCoefficient extends MeasureCollection { - private double pointInclusionProbThreshold = 0.8; + private static final double pointInclusionProbThreshold = 0.8; public SilhouetteCoefficient() { super(); @@ -75,7 +76,7 @@ public class SilhouetteCoefficient extends MeasureCollection { if (p1 != p && point1.classValue() != -1) { for (int fc = 0; fc < numFCluster; fc++) { if (pointInclusionProbFC[p1][fc] > pointInclusionProbThreshold) { - double distance = distance(point, point1); + double distance = point.getDistance(point1); distanceByClusters[fc] += distance; countsByClusters[fc]++; } @@ -122,13 +123,4 @@ public class SilhouetteCoefficient extends MeasureCollection { addValue(0, silhCoeff); } - private double distance(DataPoint inst1, DataPoint inst2) { - double distance = 0.0; - int numDims = inst1.numAttributes(); - for (int i = 0; i < numDims; i++) { - double d = inst1.value(i) - inst2.value(i); - distance += d * d; - } - return Math.sqrt(distance); - } }
