Package elki.outlier.lof
Class LoOP<O>
- java.lang.Object
-
- elki.outlier.lof.LoOP<O>
-
- Type Parameters:
O- type of objects handled by this algorithm
- All Implemented Interfaces:
Algorithm,OutlierAlgorithm
@Title("LoOP: Local Outlier Probabilities") @Description("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") @Priority(200) public class LoOP<O> extends java.lang.Object implements OutlierAlgorithm
LoOP: Local Outlier ProbabilitiesDistance/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:
- The lambda parameter was removed from the pdist term, because it cancels out.
- In ELKI 0.7.0, the
kparameters have changed by 1 to make them similar to other methods and more intuitive.
- Since:
- 0.3
- Author:
- Erich Schubert
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface elki.Algorithm
Algorithm.Utils
-
-
Field Summary
Fields Modifier and Type Field Description protected Distance<? super O>comparisonDistanceDistance function for comparison set.(package private) intkcompComparison neighborhood size.(package private) intkreachReachability neighborhood size.(package private) doublelambdaLambda parameter.private static LoggingLOGThe logger for this class.protected Distance<? super O>reachabilityDistanceDistance function for reachability.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidcomputePDists(Relation<O> relation, KNNSearcher<DBIDRef> knn, WritableDoubleDataStore pdists)Compute the probabilistic distances used by LoOP.protected doublecomputePLOFs(Relation<O> relation, KNNSearcher<DBIDRef> 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.OutlierResultrun(Relation<O> relation)Performs the LoOP algorithm on the given database.-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface elki.outlier.OutlierAlgorithm
autorun
-
-
-
-
Field Detail
-
LOG
private static final Logging LOG
The logger for this class.
-
kreach
int kreach
Reachability neighborhood size.
-
kcomp
int kcomp
Comparison neighborhood size.
-
lambda
double lambda
Lambda parameter.
-
reachabilityDistance
protected Distance<? super O> reachabilityDistance
Distance function for reachability.
-
-
Constructor Detail
-
LoOP
public LoOP(int kreach, int kcomp, Distance<? super O> reachabilityDistance, Distance<? super O> comparisonDistance, double lambda)Constructor with parameters.- Parameters:
kreach- k for reachabilitykcomp- k for comparisonreachabilityDistance- distance function for reachabilitycomparisonDistance- distance function for comparisonlambda- Lambda parameter
-
-
Method Detail
-
getInputTypeRestriction
public TypeInformation[] getInputTypeRestriction()
Description copied from interface:AlgorithmGet the input type restriction used for negotiating the data query.- Specified by:
getInputTypeRestrictionin interfaceAlgorithm- Returns:
- Type restriction
-
run
public OutlierResult run(Relation<O> relation)
Performs the LoOP algorithm on the given database.- Parameters:
relation- Relation to process- Returns:
- Outlier result
-
computePDists
protected void computePDists(Relation<O> relation, KNNSearcher<DBIDRef> knn, WritableDoubleDataStore pdists)
Compute the probabilistic distances used by LoOP.- Parameters:
relation- Data relationknn- kNN querypdists- Storage for distances
-
computePLOFs
protected double computePLOFs(Relation<O> relation, KNNSearcher<DBIDRef> knn, WritableDoubleDataStore pdists, WritableDoubleDataStore plofs)
Compute the LOF values, using the pdist distances.- Parameters:
relation- Data relationknn- kNN querypdists- Precomputed distancesplofs- Storage for PLOFs.- Returns:
- Normalization factor.
-
-