O
- the type of DatabaseObjects handled by this AlgorithmD
- the type of Distance used by this Algorithm@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>
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.
Modifier and Type | Class and Description |
---|---|
static class |
DBOutlierDetection.Parameterizer<O,D extends Distance<D>>
Parameterization class.
|
Modifier and Type | Field and Description |
---|---|
private static Logging |
LOG
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
|
D_ID
DISTANCE_FUNCTION_ID
Constructor and Description |
---|
DBOutlierDetection(DistanceFunction<O,D> distanceFunction,
D d,
double p)
Constructor with actual parameters.
|
Modifier and Type | Method and Description |
---|---|
protected DoubleDataStore |
computeOutlierScores(Database database,
Relation<O> relation,
D neighborhoodSize)
computes an outlier score for each object of the database.
|
protected Logging |
getLogger()
Get the (STATIC) logger for this class.
|
getInputTypeRestriction, run
getDistanceFunction
makeParameterDistanceFunction, run
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
run
private static final Logging LOG
public static final OptionID P_ID
private double p
P_ID
.public DBOutlierDetection(DistanceFunction<O,D> distanceFunction, D d, double p)
distanceFunction
- distance function parameterd
- distance query radiusp
- percentage parameterprotected DoubleDataStore computeOutlierScores(Database database, Relation<O> relation, D neighborhoodSize)
AbstractDBOutlier
computeOutlierScores
in class AbstractDBOutlier<O,D extends Distance<D>>
database
- Databaserelation
- RelationneighborhoodSize
- distanceprotected Logging getLogger()
AbstractAlgorithm
getLogger
in class AbstractAlgorithm<OutlierResult>