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)", 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!
Reference:
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)
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
Scaling of averaging neighborhood.
|
private static Logging |
LOG
The logger for this class.
|
private int |
nmin
Minimum neighborhood size.
|
private double |
rmax
Maximum radius.
|
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
private double rmax
private int nmin
private double alpha
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.