Package elki.outlier.anglebased
Class FastABOD<V extends elki.data.NumberVector>
- java.lang.Object
-
- elki.outlier.anglebased.ABOD<V>
-
- elki.outlier.anglebased.FastABOD<V>
-
- Type Parameters:
V- Vector type
- All Implemented Interfaces:
elki.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 elki.data.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 classFastABOD.Par<V extends elki.data.NumberVector>Parameterization class.
-
Field Summary
Fields Modifier and Type Field Description protected intkNumber of nearest neighbors.-
Fields inherited from class elki.outlier.anglebased.ABOD
kernelFunction
-
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description private voidfastABOD(elki.database.relation.Relation<V> relation, elki.database.ids.DBIDs ids, elki.database.datastore.WritableDoubleDataStore abodvalues, elki.math.DoubleMinMax minmaxabod)Full kernel-based version.elki.data.type.TypeInformation[]getInputTypeRestriction()private booleankNNABOD(elki.database.relation.Relation<V> relation, elki.database.ids.DBIDs ids, elki.database.datastore.WritableDoubleDataStore abodvalues, elki.math.DoubleMinMax minmaxabod)Simpler kNN based, can use more indexing.OutlierResultrun(elki.database.relation.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(elki.similarity.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(elki.database.relation.Relation<V> relation)
Run Fast-ABOD on the data set.
-
kNNABOD
private boolean kNNABOD(elki.database.relation.Relation<V> relation, elki.database.ids.DBIDs ids, elki.database.datastore.WritableDoubleDataStore abodvalues, elki.math.DoubleMinMax minmaxabod)
Simpler kNN based, can use more indexing.- Parameters:
relation- Data relationids- IDsabodvalues- Score storageminmaxabod- Min/max storage- Returns:
trueif kNN were available and usable.
-
fastABOD
private void fastABOD(elki.database.relation.Relation<V> relation, elki.database.ids.DBIDs ids, elki.database.datastore.WritableDoubleDataStore abodvalues, elki.math.DoubleMinMax minmaxabod)
Full kernel-based version.- Parameters:
relation- Data relationids- IDsabodvalues- Score storageminmaxabod- Min/max storage
-
getInputTypeRestriction
public elki.data.type.TypeInformation[] getInputTypeRestriction()
- Specified by:
getInputTypeRestrictionin interfaceelki.Algorithm- Overrides:
getInputTypeRestrictionin classABOD<V extends elki.data.NumberVector>
-
-