O - type of objects handled by this algorithm@Title(value="LoOP: Local Outlier Probabilities") @Description(value="Variant of the LOF algorithm normalized using statistical values.") @Reference(authors="Hans-Peter Kriegel, Peer Kr\u00f6ger, Erich Schubert, Arthur Zimek", title="LoOP: Local Outlier Probabilities", booktitle="Proc. 18th Int. Conf. Information and Knowledge Management (CIKM 2009)", url="https://doi.org/10.1145/1645953.1646195", bibkey="DBLP:conf/cikm/KriegelKSZ09") @Alias(value="de.lmu.ifi.dbs.elki.algorithm.outlier.LoOP") @Priority(value=200) public class LoOP<O> extends AbstractAlgorithm<OutlierResult> implements OutlierAlgorithm
Distance/density based algorithm similar to LOF to detect outliers, but with statistical methods to achieve better result stability.
Reference:
Hans-Peter Kriegel, Peer Kröger, Erich Schubert, Arthur Zimek:
LoOP: Local Outlier Probabilities
Proc. 18th Int. Conf. Information and Knowledge Management (CIKM 2009)
Implementation notes:
k parameters have changed by 1 to make them
similar to other methods and more intuitive.| Modifier and Type | Class and Description |
|---|---|
static class |
LoOP.Parameterizer<O>
Parameterization class.
|
| Modifier and Type | Field and Description |
|---|---|
protected DistanceFunction<? super O> |
comparisonDistanceFunction
Distance function for comparison set.
|
(package private) int |
kcomp
Comparison neighborhood size.
|
(package private) int |
kreach
Reachability neighborhood size.
|
(package private) double |
lambda
Lambda parameter.
|
private static Logging |
LOG
The logger for this class.
|
protected DistanceFunction<? super O> |
reachabilityDistanceFunction
Distance function for reachability.
|
ALGORITHM_ID| Constructor and Description |
|---|
LoOP(int kreach,
int kcomp,
DistanceFunction<? super O> reachabilityDistanceFunction,
DistanceFunction<? super O> comparisonDistanceFunction,
double lambda)
Constructor with parameters.
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
computePDists(Relation<O> relation,
KNNQuery<O> knn,
WritableDoubleDataStore pdists)
Compute the probabilistic distances used by LoOP.
|
protected double |
computePLOFs(Relation<O> relation,
KNNQuery<O> knn,
WritableDoubleDataStore pdists,
WritableDoubleDataStore plofs)
Compute the LOF values, using the pdist distances.
|
TypeInformation[] |
getInputTypeRestriction()
Get the input type restriction used for negotiating the data query.
|
protected Pair<KNNQuery<O>,KNNQuery<O>> |
getKNNQueries(Database database,
Relation<O> relation,
StepProgress stepprog)
Get the kNN queries for the algorithm.
|
protected Logging |
getLogger()
Get the (STATIC) logger for this class.
|
OutlierResult |
run(Database database,
Relation<O> relation)
Performs the LoOP algorithm on the given database.
|
runclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitrunprivate static final Logging LOG
int kreach
int kcomp
double lambda
protected DistanceFunction<? super O> reachabilityDistanceFunction
protected DistanceFunction<? super O> comparisonDistanceFunction
public LoOP(int kreach,
int kcomp,
DistanceFunction<? super O> reachabilityDistanceFunction,
DistanceFunction<? super O> comparisonDistanceFunction,
double lambda)
kreach - k for reachabilitykcomp - k for comparisonreachabilityDistanceFunction - distance function for reachabilitycomparisonDistanceFunction - distance function for comparisonlambda - Lambda parameterprotected Pair<KNNQuery<O>,KNNQuery<O>> getKNNQueries(Database database, Relation<O> relation, StepProgress stepprog)
database - Database to analyzerelation - Relation to analyzestepprog - Progress logger, may be nullpublic OutlierResult run(Database database, Relation<O> relation)
database - Database to processrelation - Relation to processprotected void computePDists(Relation<O> relation, KNNQuery<O> knn, WritableDoubleDataStore pdists)
relation - Data relationknn - kNN querypdists - Storage for distancesprotected double computePLOFs(Relation<O> relation, KNNQuery<O> knn, WritableDoubleDataStore pdists, WritableDoubleDataStore plofs)
relation - Data relationknn - kNN querypdists - Precomputed distancesplofs - Storage for PLOFs.public 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.