
@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.
|
distanceFunctionDISTANCE_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.
|
getDistanceFunctionmakeParameterDistanceFunction, runclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitrunprivate 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()
AbstractAlgorithmgetInputTypeRestriction in interface AlgorithmgetInputTypeRestriction in class AbstractAlgorithm<OutlierResult>protected Logging getLogger()
AbstractAlgorithmgetLogger in class AbstractAlgorithm<OutlierResult>Copyright © 2015 ELKI Development Team, Lehr- und Forschungseinheit für Datenbanksysteme, Ludwig-Maximilians-Universität München. License information.