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_IDDISTANCE_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 
 | 
getDistanceFunctionrunclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitrunprivate 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()
AbstractAlgorithmgetInputTypeRestriction in interface AlgorithmgetInputTypeRestriction in class AbstractAlgorithm<OutlierResult>protected Logging getLogger()
AbstractAlgorithmgetLogger in class AbstractAlgorithm<OutlierResult>Copyright © 2019 ELKI Development Team. License information.