
@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.