
O - Object type@Reference(authors="Erich Schubert, Arthur Zimek, Hans-Peter Kriegel", title="Generalized Outlier Detection with Flexible Kernel Density Estimates", booktitle="Proc. 14th SIAM International Conference on Data Mining (SDM), Philadelphia, PA, 2014", url="http://dx.doi.org/10.1137/1.9781611973440.63") public class KDEOS<O> extends AbstractDistanceBasedAlgorithm<O,OutlierResult> implements OutlierAlgorithm
Erich Schubert, Arthur Zimek, Hans-Peter Kriegel
Generalized Outlier Detection with Flexible Kernel Density Estimates
In Proceedings of the 14th SIAM International Conference on Data Mining
(SDM), Philadelphia, PA, 2014.
| Modifier and Type | Class and Description |
|---|---|
static class |
KDEOS.Parameterizer<O>
Parameterization class
|
| Modifier and Type | Field and Description |
|---|---|
(package private) static double |
CUTOFF
Significance cutoff when computing kernel density.
|
(package private) int |
idim
Intrinsic dimensionality.
|
(package private) KernelDensityFunction |
kernel
Kernel function to use for density estimation.
|
(package private) int |
kmax
Minimum and maximum number of neighbors to use.
|
(package private) int |
kmin
Minimum and maximum number of neighbors to use.
|
private static Logging |
LOG
Class logger.
|
(package private) double |
minBandwidth
Kernel minimum bandwidth.
|
(package private) double |
scale
Kernel scaling parameter.
|
DISTANCE_FUNCTION_ID| Constructor and Description |
|---|
KDEOS(DistanceFunction<? super O> distanceFunction,
int kmin,
int kmax,
KernelDensityFunction kernel,
double minBandwidth,
double scale,
int idim)
Constructor.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
computeOutlierScores(KNNQuery<O> knnq,
DBIDs ids,
WritableDataStore<double[]> densities,
WritableDoubleDataStore kdeos,
DoubleMinMax minmax)
Compute the final KDEOS scores.
|
private int |
dimensionality(Relation<O> rel)
Ugly hack to allow using this implementation without having a well-defined
dimensionality.
|
protected void |
estimateDensities(Relation<O> rel,
KNNQuery<O> knnq,
DBIDs ids,
WritableDataStore<double[]> densities)
Perform the kernel density estimation step.
|
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<O> rel)
Run the KDEOS outlier detection algorithm.
|
getDistanceFunctionmakeParameterDistanceFunction, runclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitrunprivate static final Logging LOG
KernelDensityFunction kernel
int kmin
int kmax
double scale
double minBandwidth
int idim
static final double CUTOFF
public KDEOS(DistanceFunction<? super O> distanceFunction, int kmin, int kmax, KernelDensityFunction kernel, double minBandwidth, double scale, int idim)
distanceFunction - Distance functionkmin - Minimum number of neighborskmax - Maximum number of neighborskernel - Kernel functionscale - Kernel scaling parameteridim - Intrinsic dimensionality (use 0 to use real dimensionality)public OutlierResult run(Database database, Relation<O> rel)
database - Database to queryrel - Relation to processprotected void estimateDensities(Relation<O> rel, KNNQuery<O> knnq, DBIDs ids, WritableDataStore<double[]> densities)
rel - Relation to queryknnq - kNN queryids - IDs to processdensities - Density storageprivate int dimensionality(Relation<O> rel)
rel - Data relationprotected void computeOutlierScores(KNNQuery<O> knnq, DBIDs ids, WritableDataStore<double[]> densities, WritableDoubleDataStore kdeos, DoubleMinMax minmax)
knnq - kNN queryids - IDs to processdensities - Density estimateskdeos - Score outputsminmax - Minimum and maximum scorespublic 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.