O
- Object type@Title(value="LOCI: Fast Outlier Detection Using the Local Correlation Integral") @Description(value="Algorithm to compute outliers based on the Local Correlation Integral") @Reference(authors="S. Papadimitriou, H. Kitagawa, P. B. Gibbons, C. Faloutsos", title="LOCI: Fast Outlier Detection Using the Local Correlation Integral", booktitle="Proc. 19th IEEE Int. Conf. on Data Engineering (ICDE \'03), Bangalore, India, 2003", url="http://dx.doi.org/10.1109/ICDE.2003.1260802") @Alias(value="de.lmu.ifi.dbs.elki.algorithm.outlier.LOCI") public class LOCI<O> extends AbstractDistanceBasedAlgorithm<O,OutlierResult> implements OutlierAlgorithm
ALOCI
.
Outlier detection using multiple epsilon neighborhoods.
This implementation has O(n3 log n) runtime complexity!
Based on: S. Papadimitriou, H. Kitagawa, P. B. Gibbons and C. Faloutsos:
LOCI: Fast Outlier Detection Using the Local Correlation Integral. In: Proc.
19th IEEE Int. Conf. on Data Engineering (ICDE '03), Bangalore, India, 2003.Modifier and Type | Class and Description |
---|---|
protected static class |
LOCI.DoubleIntArrayList
Array of double-int values.
|
static class |
LOCI.Parameterizer<O>
Parameterization class.
|
Modifier and Type | Field and Description |
---|---|
private double |
alpha
Holds the value of
ALPHA_ID . |
static OptionID |
ALPHA_ID
Parameter to specify the averaging neighborhood scaling.
|
private static Logging |
LOG
The logger for this class.
|
private int |
nmin
Holds the value of
NMIN_ID . |
static OptionID |
NMIN_ID
Parameter to specify the minimum neighborhood size
|
private double |
rmax
Holds the value of
RMAX_ID . |
static OptionID |
RMAX_ID
Parameter to specify the maximum radius of the neighborhood to be
considered, must be suitable to the distance function specified.
|
DISTANCE_FUNCTION_ID
Constructor and Description |
---|
LOCI(DistanceFunction<? super O> distanceFunction,
double rmax,
int nmin,
double alpha)
Constructor.
|
Modifier and Type | Method and Description |
---|---|
TypeInformation[] |
getInputTypeRestriction()
Get the input type restriction used for negotiating the data query.
|
protected Logging |
getLogger()
Get the (STATIC) logger for this class.
|
protected void |
precomputeInterestingRadii(DBIDs ids,
RangeQuery<O> rangeQuery,
WritableDataStore<LOCI.DoubleIntArrayList> interestingDistances)
Preprocessing step: determine the radii of interest for each point.
|
OutlierResult |
run(Database database,
Relation<O> relation)
Run the algorithm
|
getDistanceFunction
makeParameterDistanceFunction, run
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
run
private static final Logging LOG
public static final OptionID RMAX_ID
public static final OptionID NMIN_ID
public static final OptionID ALPHA_ID
private double rmax
RMAX_ID
.private int nmin
NMIN_ID
.private double alpha
ALPHA_ID
.public LOCI(DistanceFunction<? super O> distanceFunction, double rmax, int nmin, double alpha)
distanceFunction
- Distance functionrmax
- Maximum radiusnmin
- Minimum neighborhood sizealpha
- Alpha valuepublic OutlierResult run(Database database, Relation<O> relation)
database
- Database to processrelation
- Relation to processprotected void precomputeInterestingRadii(DBIDs ids, RangeQuery<O> rangeQuery, WritableDataStore<LOCI.DoubleIntArrayList> interestingDistances)
ids
- IDs to processrangeQuery
- Range queryinterestingDistances
- Distances of interestpublic TypeInformation[] getInputTypeRestriction()
AbstractAlgorithm
getInputTypeRestriction
in interface Algorithm
getInputTypeRestriction
in class AbstractAlgorithm<OutlierResult>
protected Logging getLogger()
AbstractAlgorithm
getLogger
in class AbstractAlgorithm<OutlierResult>
Copyright © 2015 ELKI Development Team, Lehr- und Forschungseinheit für Datenbanksysteme, Ludwig-Maximilians-Universität München. License information.