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="https://doi.org/10.1109/ICDE.2003.1260802", bibkey="DBLP:conf/icde/PapadimitriouKGF03") @Alias(value="de.lmu.ifi.dbs.elki.algorithm.outlier.LOCI") public class LOCI<O> extends AbstractDistanceBasedAlgorithm<O,OutlierResult> implements OutlierAlgorithm
Exact implementation only, not aLOCI. See ALOCI
.
Outlier detection using multiple epsilon neighborhoods.
This implementation has O(n3 log n) runtime complexity!
Reference:
S. Papadimitriou, H. Kitagawa, P. B. Gibbons, 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 |
---|---|
private 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.
|
ALGORITHM_ID
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
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 © 2019 ELKI Development Team. License information.