de.lmu.ifi.dbs.elki.algorithm.outlier
Class AbstractDBOutlier<O,D extends Distance<D>>

java.lang.Object
  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
DISTANCE_FUNCTION_ID
 
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
getDistanceFunction
 
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
run
 

Field Detail

D_ID

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


d

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

Constructor Detail

AbstractDBOutlier

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

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

run

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

Throws:
IllegalStateException

computeOutlierScores

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


getInputTypeRestriction

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>
Returns:
Type restriction

Release 0.4.0 (2011-09-20_1324)