de.lmu.ifi.dbs.elki.algorithm.outlier
Class DBOutlierDetection<O,D extends Distance<D>>
java.lang.Object
de.lmu.ifi.dbs.elki.algorithm.AbstractAlgorithm<R>
de.lmu.ifi.dbs.elki.algorithm.AbstractDistanceBasedAlgorithm<O,D,OutlierResult>
de.lmu.ifi.dbs.elki.algorithm.outlier.AbstractDBOutlier<O,D>
de.lmu.ifi.dbs.elki.algorithm.outlier.DBOutlierDetection<O,D>
- Type Parameters:
O
- the type of DatabaseObjects handled by this AlgorithmD
- the type of Distance used by this Algorithm
- All Implemented Interfaces:
- Algorithm, OutlierAlgorithm, InspectionUtilFrequentlyScanned, Parameterizable
@Title(value="DBOD: Distance Based Outlier Detection")
@Description(value="If the D-neighborhood of an object contains only very few objects (less than (1-p) percent of the data) this object is flagged as an outlier")
@Reference(authors="E.M. Knorr, R. T. Ng",
title="Algorithms for Mining Distance-Based Outliers in Large Datasets",
booktitle="Procs Int. Conf. on Very Large Databases (VLDB\'98), New York, USA, 1998")
public class DBOutlierDetection<O,D extends Distance<D>>
- extends AbstractDBOutlier<O,D>
Simple distanced based outlier detection algorithm. User has to specify two
parameters An object is flagged as an outlier if at least a fraction p of all
data objects has a distance above d from c
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.
This paper presents several Distance Based Outlier Detection algorithms.
Implemented here is a simple index based algorithm as presented in section
3.1.
Field Summary |
private static Logging |
logger
The logger for this class. |
private double |
p
Holds the value of P_ID . |
static OptionID |
P_ID
Parameter to specify the minimum fraction of objects that must be outside
the D- neighborhood of an outlier |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
logger
private static final Logging logger
- The logger for this class.
P_ID
public static final OptionID P_ID
- Parameter to specify the minimum fraction of objects that must be outside
the D- neighborhood of an outlier
p
private double p
- Holds the value of
P_ID
.
DBOutlierDetection
public DBOutlierDetection(DistanceFunction<O,D> distanceFunction,
D d,
double p)
- Constructor with actual parameters.
- Parameters:
distanceFunction
- distance function parameterd
- distance query radiusp
- percentage parameter
computeOutlierScores
protected DataStore<Double> computeOutlierScores(Database database,
DistanceQuery<O,D> distFunc,
D neighborhoodSize)
- Description copied from class:
AbstractDBOutlier
- computes an outlier score for each object of the database.
- Specified by:
computeOutlierScores
in class AbstractDBOutlier<O,D extends Distance<D>>
getLogger
protected Logging getLogger()
- Description copied from class:
AbstractAlgorithm
- Get the (STATIC) logger for this class.
- Specified by:
getLogger
in class AbstractAlgorithm<OutlierResult>
- Returns:
- the static logger