Class AbstractDBOutlier<O,D extends Distance<D>>

  extended by de.lmu.ifi.dbs.elki.algorithm.AbstractAlgorithm<R>
      extended by de.lmu.ifi.dbs.elki.algorithm.AbstractDistanceBasedAlgorithm<O,D,OutlierResult>
          extended by de.lmu.ifi.dbs.elki.algorithm.outlier.AbstractDBOutlier<O,D>
Type Parameters:
O - the type of DatabaseObjects handled by this Algorithm
D - the type of Distance used by this Algorithm
All Implemented Interfaces:
Algorithm, OutlierAlgorithm, InspectionUtilFrequentlyScanned, Parameterizable
Direct Known Subclasses:
DBOutlierDetection, DBOutlierScore

public abstract class AbstractDBOutlier<O,D extends Distance<D>>
extends AbstractDistanceBasedAlgorithm<O,D,OutlierResult>
implements OutlierAlgorithm

Simple distance based outlier detection algorithms.

Reference: E.M. Knorr, R. T. Ng: Algorithms for Mining Distance-Based Outliers in Large Datasets, In: Procs Int. Conf. on Very Large Databases (VLDB'98), New York, USA, 1998.

Nested Class Summary
static class AbstractDBOutlier.Parameterizer<O,D extends Distance<D>>
          Parameterization class.
Field Summary
private  D d
          Holds the value of D_ID.
static OptionID D_ID
          Parameter to specify the size of the D-neighborhood
Fields inherited from class de.lmu.ifi.dbs.elki.algorithm.AbstractDistanceBasedAlgorithm
Constructor Summary
AbstractDBOutlier(DistanceFunction<? super O,D> distanceFunction, D d)
          Constructor with actual parameters.
Method Summary
protected abstract  DataStore<Double> computeOutlierScores(Database database, DistanceQuery<O,D> distFunc, D d)
          computes an outlier score for each object of the database.
 TypeInformation[] getInputTypeRestriction()
          Get the input type restriction used for negotiating the data query.
 OutlierResult run(Database database, Relation<O> relation)
          Runs the algorithm in the timed evaluation part.
Methods inherited from class de.lmu.ifi.dbs.elki.algorithm.AbstractDistanceBasedAlgorithm
Methods inherited from class de.lmu.ifi.dbs.elki.algorithm.AbstractAlgorithm
getLogger, makeParameterDistanceFunction, run
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface de.lmu.ifi.dbs.elki.algorithm.outlier.OutlierAlgorithm

Field Detail


public static final OptionID D_ID
Parameter to specify the size of the D-neighborhood


private D extends Distance<D> d
Holds the value of D_ID.

Constructor Detail


public AbstractDBOutlier(DistanceFunction<? super O,D> distanceFunction,
                         D d)
Constructor with actual parameters.

distanceFunction - distance function to use
d - d value
Method Detail


public OutlierResult run(Database database,
                         Relation<O> relation)
                  throws IllegalStateException
Runs the algorithm in the timed evaluation part.



protected abstract DataStore<Double> computeOutlierScores(Database database,
                                                          DistanceQuery<O,D> distFunc,
                                                          D d)
computes an outlier score for each object of the database.


public TypeInformation[] getInputTypeRestriction()
Description copied from class: AbstractAlgorithm
Get the input type restriction used for negotiating the data query.

Specified by:
getInputTypeRestriction in interface Algorithm
Specified by:
getInputTypeRestriction in class AbstractAlgorithm<OutlierResult>
Type restriction

Release 0.4.0 (2011-09-20_1324)