summaryrefslogtreecommitdiff
path: root/src/de/lmu/ifi/dbs/elki/distance/distancefunction/SharedNearestNeighborJaccardDistanceFunction.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/de/lmu/ifi/dbs/elki/distance/distancefunction/SharedNearestNeighborJaccardDistanceFunction.java')
-rw-r--r--src/de/lmu/ifi/dbs/elki/distance/distancefunction/SharedNearestNeighborJaccardDistanceFunction.java19
1 files changed, 13 insertions, 6 deletions
diff --git a/src/de/lmu/ifi/dbs/elki/distance/distancefunction/SharedNearestNeighborJaccardDistanceFunction.java b/src/de/lmu/ifi/dbs/elki/distance/distancefunction/SharedNearestNeighborJaccardDistanceFunction.java
index 0b80f512..cfc4217e 100644
--- a/src/de/lmu/ifi/dbs/elki/distance/distancefunction/SharedNearestNeighborJaccardDistanceFunction.java
+++ b/src/de/lmu/ifi/dbs/elki/distance/distancefunction/SharedNearestNeighborJaccardDistanceFunction.java
@@ -4,7 +4,7 @@ package de.lmu.ifi.dbs.elki.distance.distancefunction;
This file is part of ELKI:
Environment for Developing KDD-Applications Supported by Index-Structures
- Copyright (C) 2011
+ Copyright (C) 2012
Ludwig-Maximilians-Universität München
Lehr- und Forschungseinheit für Datenbanksysteme
ELKI Development Team
@@ -26,7 +26,7 @@ package de.lmu.ifi.dbs.elki.distance.distancefunction;
import java.util.Iterator;
import de.lmu.ifi.dbs.elki.database.ids.DBID;
-import de.lmu.ifi.dbs.elki.database.ids.TreeSetDBIDs;
+import de.lmu.ifi.dbs.elki.database.ids.DBIDs;
import de.lmu.ifi.dbs.elki.database.relation.Relation;
import de.lmu.ifi.dbs.elki.distance.distancevalue.DoubleDistance;
import de.lmu.ifi.dbs.elki.index.preprocessed.snn.SharedNearestNeighborIndex;
@@ -39,7 +39,7 @@ import de.lmu.ifi.dbs.elki.utilities.optionhandling.parameterization.Parameteriz
*
* @author Erich Schubert
*
- * @apiviz.composedOf de.lmu.ifi.dbs.elki.index.preprocessed.snn.SharedNearestNeighborIndex.Factory
+ * @apiviz.composedOf SharedNearestNeighborIndex.Factory
* @apiviz.has SharedNearestNeighborJaccardDistanceFunction.Instance oneway - - «create»
*
* @param <O> object type
@@ -82,7 +82,14 @@ public class SharedNearestNeighborJaccardDistanceFunction<O> extends AbstractInd
super(database, preprocessor, parent);
}
- static protected double jaccardCoefficient(TreeSetDBIDs neighbors1, TreeSetDBIDs neighbors2) {
+ /**
+ * Compute the Jaccard coefficient
+ *
+ * @param neighbors1 SORTED neighbor ids of first
+ * @param neighbors2 SORTED neighbor ids of second
+ * @return Jaccard coefficient
+ */
+ static protected double jaccardCoefficient(DBIDs neighbors1, DBIDs neighbors2) {
int intersection = 0;
int union = 0;
Iterator<DBID> iter1 = neighbors1.iterator();
@@ -118,8 +125,8 @@ public class SharedNearestNeighborJaccardDistanceFunction<O> extends AbstractInd
@Override
public DoubleDistance distance(DBID id1, DBID id2) {
- TreeSetDBIDs neighbors1 = index.getNearestNeighborSet(id1);
- TreeSetDBIDs neighbors2 = index.getNearestNeighborSet(id2);
+ DBIDs neighbors1 = index.getNearestNeighborSet(id1);
+ DBIDs neighbors2 = index.getNearestNeighborSet(id2);
return new DoubleDistance(1.0 - jaccardCoefficient(neighbors1, neighbors2));
}