summaryrefslogtreecommitdiff
path: root/src/tutorial/outlier/DistanceStddevOutlier.java
diff options
context:
space:
mode:
authorErich Schubert <erich@debian.org>2012-12-14 20:45:15 +0100
committerAndrej Shadura <andrewsh@debian.org>2019-03-09 22:30:35 +0000
commit357b2761a2c0ded8cad5e4d3c1e667b7639ff7a6 (patch)
tree3dd8947bb70a67c221adc3cd4359ba1d385e2f3c /src/tutorial/outlier/DistanceStddevOutlier.java
parent4343785ebed9d4145f417d86d581f18a0d31e4ac (diff)
parentb7b404fd7a726774d442562d11659d7b5368cdb9 (diff)
Import Debian changes 0.5.5-1
elki (0.5.5-1) unstable; urgency=low * New upstream release: 0.5.5 interim release.
Diffstat (limited to 'src/tutorial/outlier/DistanceStddevOutlier.java')
-rw-r--r--src/tutorial/outlier/DistanceStddevOutlier.java24
1 files changed, 12 insertions, 12 deletions
diff --git a/src/tutorial/outlier/DistanceStddevOutlier.java b/src/tutorial/outlier/DistanceStddevOutlier.java
index 56c9e002..97b9898c 100644
--- a/src/tutorial/outlier/DistanceStddevOutlier.java
+++ b/src/tutorial/outlier/DistanceStddevOutlier.java
@@ -9,14 +9,14 @@ import de.lmu.ifi.dbs.elki.database.QueryUtil;
import de.lmu.ifi.dbs.elki.database.datastore.DataStoreFactory;
import de.lmu.ifi.dbs.elki.database.datastore.DataStoreUtil;
import de.lmu.ifi.dbs.elki.database.datastore.WritableDoubleDataStore;
-import de.lmu.ifi.dbs.elki.database.ids.DBID;
import de.lmu.ifi.dbs.elki.database.ids.DBIDIter;
-import de.lmu.ifi.dbs.elki.database.query.DistanceResultPair;
+import de.lmu.ifi.dbs.elki.database.ids.DBIDUtil;
import de.lmu.ifi.dbs.elki.database.query.knn.KNNQuery;
-import de.lmu.ifi.dbs.elki.database.query.knn.KNNResult;
import de.lmu.ifi.dbs.elki.database.relation.MaterializedRelation;
import de.lmu.ifi.dbs.elki.database.relation.Relation;
import de.lmu.ifi.dbs.elki.distance.distancefunction.DistanceFunction;
+import de.lmu.ifi.dbs.elki.distance.distanceresultlist.DistanceDBIDResultIter;
+import de.lmu.ifi.dbs.elki.distance.distanceresultlist.KNNResult;
import de.lmu.ifi.dbs.elki.distance.distancevalue.NumberDistance;
import de.lmu.ifi.dbs.elki.logging.Logging;
import de.lmu.ifi.dbs.elki.math.DoubleMinMax;
@@ -42,7 +42,7 @@ public class DistanceStddevOutlier<O, D extends NumberDistance<D, ?>> extends Ab
/**
* Class logger
*/
- private static final Logging logger = Logging.getLogger(DistanceStddevOutlier.class);
+ private static final Logging LOG = Logging.getLogger(DistanceStddevOutlier.class);
/**
* Number of neighbors to get.
@@ -77,19 +77,18 @@ public class DistanceStddevOutlier<O, D extends NumberDistance<D, ?>> extends Ab
// Iterate over all objects
for(DBIDIter iter = relation.iterDBIDs(); iter.valid(); iter.advance()) {
- DBID id = iter.getDBID();
- KNNResult<D> neighbors = knnq.getKNNForDBID(id, k);
+ KNNResult<D> neighbors = knnq.getKNNForDBID(iter, k);
// Aggregate distances
MeanVariance mv = new MeanVariance();
- for(DistanceResultPair<D> neighbor : neighbors) {
+ for(DistanceDBIDResultIter<D> neighbor = neighbors.iter(); neighbor.valid(); neighbor.advance()) {
// Skip the object itself. The 0 is not very informative.
- if(id.sameDBID(neighbor.getDBID())) {
+ if(DBIDUtil.equal(iter, neighbor)) {
continue;
}
mv.put(neighbor.getDistance().doubleValue());
}
// Store score
- scores.putDouble(id, mv.getSampleStddev());
+ scores.putDouble(iter, mv.getSampleStddev());
}
// Wrap the result in the standard containers
@@ -106,7 +105,7 @@ public class DistanceStddevOutlier<O, D extends NumberDistance<D, ?>> extends Ab
@Override
protected Logging getLogger() {
- return logger;
+ return LOG;
}
/**
@@ -123,7 +122,7 @@ public class DistanceStddevOutlier<O, D extends NumberDistance<D, ?>> extends Ab
/**
* Option ID for parameterization.
*/
- public static final OptionID K_ID = OptionID.getOrCreateOptionID("stddevout.k", "Number of neighbors to get for stddev based outlier detection.");
+ public static final OptionID K_ID = new OptionID("stddevout.k", "Number of neighbors to get for stddev based outlier detection.");
/**
* Number of neighbors to get
@@ -134,7 +133,8 @@ public class DistanceStddevOutlier<O, D extends NumberDistance<D, ?>> extends Ab
protected void makeOptions(Parameterization config) {
// The super class has the distance function parameter!
super.makeOptions(config);
- IntParameter kParam = new IntParameter(K_ID, new GreaterConstraint(1));
+ IntParameter kParam = new IntParameter(K_ID);
+ kParam.addConstraint(new GreaterConstraint(1));
if(config.grab(kParam)) {
k = kParam.getValue();
}