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.
|
run
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
run
private 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 null
public 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()
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.