Package elki.outlier.anglebased
Class FastABOD<V extends NumberVector>
- java.lang.Object
-
- elki.outlier.anglebased.ABOD<V>
-
- elki.outlier.anglebased.FastABOD<V>
-
- Type Parameters:
V
- Vector type
- All Implemented Interfaces:
Algorithm
,OutlierAlgorithm
- Direct Known Subclasses:
LBABOD
@Title("Approximate ABOD: Angle-Based Outlier Detection") @Description("Outlier detection using variance analysis on angles, especially for high dimensional data sets.") @Reference(authors="Hans-Peter Kriegel, Matthias Schubert, Arthur Zimek", title="Angle-Based Outlier Detection in High-dimensional Data", booktitle="Proc. 14th ACM SIGKDD Int. Conf. Knowledge Discovery and Data Mining (KDD\'08)", url="https://doi.org/10.1145/1401890.1401946", bibkey="DBLP:conf/kdd/KriegelSZ08") public class FastABOD<V extends NumberVector> extends ABOD<V>
Fast-ABOD (approximateABOF) version of Angle-Based Outlier Detection / Angle-Based Outlier Factor.Note: the minimum k is 3. The 2 nearest neighbors yields one 1 angle, which implies a constant 0 variance everywhere.
Reference:
Hans-Peter Kriegel, Matthias Schubert, Arthur Zimek
Angle-Based Outlier Detection in High-dimensional Data
Proc. 14th ACM SIGKDD Int. Conf. Knowledge Discovery and Data Mining (KDD'08)- Since:
- 0.6.0
- Author:
- Matthias Schubert (Original Code), Erich Schubert (ELKIfication)
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
FastABOD.Par<V extends NumberVector>
Parameterization class.-
Nested classes/interfaces inherited from interface elki.Algorithm
Algorithm.Utils
-
-
Field Summary
Fields Modifier and Type Field Description protected int
k
Number of nearest neighbors.-
Fields inherited from class elki.outlier.anglebased.ABOD
kernelFunction
-
-
Constructor Summary
Constructors Constructor Description FastABOD(Similarity<? super V> kernelFunction, int k)
Constructor for Angle-Based Outlier Detection (ABOD).
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private void
fastABOD(Relation<V> relation, DBIDs ids, WritableDoubleDataStore abodvalues, DoubleMinMax minmaxabod)
Full kernel-based version.TypeInformation[]
getInputTypeRestriction()
Get the input type restriction used for negotiating the data query.private boolean
kNNABOD(Relation<V> relation, DBIDs ids, WritableDoubleDataStore abodvalues, DoubleMinMax minmaxabod)
Simpler kNN based, can use more indexing.OutlierResult
run(Relation<V> relation)
Run Fast-ABOD on the data set.-
Methods inherited from class elki.outlier.anglebased.ABOD
computeABOF
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface elki.outlier.OutlierAlgorithm
autorun
-
-
-
-
Constructor Detail
-
FastABOD
public FastABOD(Similarity<? super V> kernelFunction, int k)
Constructor for Angle-Based Outlier Detection (ABOD).- Parameters:
kernelFunction
- kernel function to usek
- Number of nearest neighbors
-
-
Method Detail
-
run
public OutlierResult run(Relation<V> relation)
Run Fast-ABOD on the data set.- Overrides:
run
in classABOD<V extends NumberVector>
- Parameters:
relation
- Relation to process- Returns:
- Outlier detection result
-
kNNABOD
private boolean kNNABOD(Relation<V> relation, DBIDs ids, WritableDoubleDataStore abodvalues, DoubleMinMax minmaxabod)
Simpler kNN based, can use more indexing.- Parameters:
relation
- Data relationids
- IDsabodvalues
- Score storageminmaxabod
- Min/max storage- Returns:
true
if kNN were available and usable.
-
fastABOD
private void fastABOD(Relation<V> relation, DBIDs ids, WritableDoubleDataStore abodvalues, DoubleMinMax minmaxabod)
Full kernel-based version.- Parameters:
relation
- Data relationids
- IDsabodvalues
- Score storageminmaxabod
- Min/max storage
-
getInputTypeRestriction
public TypeInformation[] getInputTypeRestriction()
Description copied from interface:Algorithm
Get the input type restriction used for negotiating the data query.- Specified by:
getInputTypeRestriction
in interfaceAlgorithm
- Overrides:
getInputTypeRestriction
in classABOD<V extends NumberVector>
- Returns:
- Type restriction
-
-