V - Vector type@Title(value="Approximate ABOD: Angle-Based Outlier Detection") @Description(value="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") @Alias(value={"de.lmu.ifi.dbs.elki.algorithm.outlier.FastABOD","fastabod"}) public class FastABOD<V extends NumberVector> extends ABOD<V>
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)
| Modifier and Type | Class and Description |
|---|---|
static class |
FastABOD.Parameterizer<V extends NumberVector>
Parameterization class.
|
| Modifier and Type | Field and Description |
|---|---|
protected int |
k
Number of nearest neighbors.
|
private static Logging |
LOG
The logger for this class.
|
kernelFunctionALGORITHM_ID| Constructor and Description |
|---|
FastABOD(SimilarityFunction<? super V> kernelFunction,
int k)
Constructor for Angle-Based Outlier Detection (ABOD).
|
| Modifier and Type | Method and Description |
|---|---|
private void |
fastABOD(Database db,
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.
|
protected Logging |
getLogger()
Get the (STATIC) logger for this class.
|
private boolean |
kNNABOD(Database db,
Relation<V> relation,
DBIDs ids,
WritableDoubleDataStore abodvalues,
DoubleMinMax minmaxabod)
Simpler kNN based, can use more indexing.
|
OutlierResult |
run(Database db,
Relation<V> relation)
Run Fast-ABOD on the data set.
|
computeABOFrunclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitrunprivate static final Logging LOG
protected int k
public FastABOD(SimilarityFunction<? super V> kernelFunction, int k)
kernelFunction - kernel function to usek - Number of nearest neighborspublic OutlierResult run(Database db, Relation<V> relation)
run in class ABOD<V extends NumberVector>relation - Relation to processprivate boolean kNNABOD(Database db, Relation<V> relation, DBIDs ids, WritableDoubleDataStore abodvalues, DoubleMinMax minmaxabod)
db - Databaserelation - Data relationids - IDsabodvalues - Score storageminmaxabod - Min/max storagetrue if kNN were available and usable.private void fastABOD(Database db, Relation<V> relation, DBIDs ids, WritableDoubleDataStore abodvalues, DoubleMinMax minmaxabod)
db - Databaserelation - Data relationids - IDsabodvalues - Score storageminmaxabod - Min/max storagepublic TypeInformation[] getInputTypeRestriction()
AbstractAlgorithmgetInputTypeRestriction in interface AlgorithmgetInputTypeRestriction in class ABOD<V extends NumberVector>protected Logging getLogger()
AbstractAlgorithmgetLogger in class ABOD<V extends NumberVector>Copyright © 2019 ELKI Development Team. License information.