@Title(value="An Efficient Reference-based Approach to Outlier Detection in Large Datasets") @Description(value="Computes kNN distances approximately, using reference points with various reference point strategies.") @Reference(authors="Y. Pei, O.R. Zaiane, Y. Gao", title="An Efficient Reference-based Approach to Outlier Detection in Large Datasets", booktitle="Proc. 6th IEEE Int. Conf. on Data Mining (ICDM \'06)", url="http://dx.doi.org/10.1109/ICDM.2006.17") @Alias(value="de.lmu.ifi.dbs.elki.algorithm.outlier.ReferenceBasedOutlierDetection") public class ReferenceBasedOutlierDetection extends AbstractNumberVectorDistanceBasedAlgorithm<NumberVector,OutlierResult> implements OutlierAlgorithm
Y. Pei, O. R. Zaiane, Y. Gao
An Efficient Reference-Based Approach to Outlier Detection in Large Datasets
In: Proc. IEEE Int. Conf. on Data Mining (ICDM'06), Hong Kong, China, 2006
Modifier and Type | Class and Description |
---|---|
static class |
ReferenceBasedOutlierDetection.Parameterizer
Parameterization class.
|
Modifier and Type | Field and Description |
---|---|
private int |
k
Holds the number of neighbors to use for density estimation.
|
private static Logging |
LOG
The logger for this class.
|
private ReferencePointsHeuristic |
refp
Stores the reference point strategy.
|
distanceFunction
DISTANCE_FUNCTION_ID
Constructor and Description |
---|
ReferenceBasedOutlierDetection(int k,
NumberVectorDistanceFunction<? super NumberVector> distanceFunction,
ReferencePointsHeuristic refp)
Constructor with parameters.
|
Modifier and Type | Method and Description |
---|---|
protected double |
computeDensity(DoubleDBIDList referenceDists,
DoubleDBIDListIter iter,
int index)
Computes the density of an object.
|
protected DoubleDBIDList |
computeDistanceVector(NumberVector refPoint,
Relation<? extends NumberVector> database,
PrimitiveDistanceQuery<? super NumberVector> distFunc)
Computes for each object the distance to one reference point.
|
TypeInformation[] |
getInputTypeRestriction()
Get the input type restriction used for negotiating the data query.
|
protected Logging |
getLogger()
Get the (STATIC) logger for this class.
|
OutlierResult |
run(Database database,
Relation<? extends NumberVector> relation)
Run the algorithm on the given relation.
|
protected void |
updateDensities(WritableDoubleDataStore rbod_score,
DoubleDBIDList referenceDists)
Update the density estimates for each object.
|
getDistanceFunction
makeParameterDistanceFunction, run
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
run
private static final Logging LOG
private int k
private ReferencePointsHeuristic refp
public ReferenceBasedOutlierDetection(int k, NumberVectorDistanceFunction<? super NumberVector> distanceFunction, ReferencePointsHeuristic refp)
k
- k ParameterdistanceFunction
- distance functionrefp
- Reference points heuristicpublic OutlierResult run(Database database, Relation<? extends NumberVector> relation)
database
- Databaserelation
- Relation to processprotected DoubleDBIDList computeDistanceVector(NumberVector refPoint, Relation<? extends NumberVector> database, PrimitiveDistanceQuery<? super NumberVector> distFunc)
refPoint
- Reference Point Feature Vectordatabase
- database to work ondistFunc
- Distance function to useprotected void updateDensities(WritableDoubleDataStore rbod_score, DoubleDBIDList referenceDists)
rbod_score
- Density storagereferenceDists
- Distances from current reference pointprotected double computeDensity(DoubleDBIDList referenceDists, DoubleDBIDListIter iter, int index)
referenceDists
- vector of the reference distancesiter
- Iterator to this list (will be reused)index
- index of the current objectpublic TypeInformation[] getInputTypeRestriction()
AbstractAlgorithm
getInputTypeRestriction
in interface Algorithm
getInputTypeRestriction
in class AbstractAlgorithm<OutlierResult>
protected Logging getLogger()
AbstractAlgorithm
getLogger
in class AbstractAlgorithm<OutlierResult>
Copyright © 2015 ELKI Development Team, Lehr- und Forschungseinheit für Datenbanksysteme, Ludwig-Maximilians-Universität München. License information.