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.
|
kernelFunction
ALGORITHM_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.
|
computeABOF
run
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
run
private 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()
AbstractAlgorithm
getInputTypeRestriction
in interface Algorithm
getInputTypeRestriction
in class ABOD<V extends NumberVector>
protected Logging getLogger()
AbstractAlgorithm
getLogger
in class ABOD<V extends NumberVector>
Copyright © 2019 ELKI Development Team. License information.