
O - type of objects handled by this algorithmD - type of distances used@Title(value="LoOP: Local Outlier Probabilities") @Description(value="Variant of the LOF algorithm normalized using statistical values.") @Reference(authors="H.-P. Kriegel, P. Kr\u00f6ger, E. Schubert, A. Zimek", title="LoOP: Local Outlier Probabilities", booktitle="Proceedings of the 18th International Conference on Information and Knowledge Management (CIKM), Hong Kong, China, 2009", url="http://dx.doi.org/10.1145/1645953.1646195") @Alias(value={"de.lmu.ifi.dbs.elki.algorithm.outlier.LoOP","LoOP","outlier.LoOP"}) public class LoOP<O,D extends NumberDistance<D,?>> extends AbstractAlgorithm<OutlierResult> implements OutlierAlgorithm
| Modifier and Type | Class and Description |
|---|---|
static class |
LoOP.Parameterizer<O,D extends NumberDistance<D,?>>
Parameterization class.
|
| Modifier and Type | Field and Description |
|---|---|
static OptionID |
COMPARISON_DISTANCE_FUNCTION_ID
The distance function to determine the reachability distance between
database objects.
|
protected DistanceFunction<? super O,D> |
comparisonDistanceFunction
Preprocessor Step 2.
|
(package private) int |
kcomp
Holds the value of
KCOMP_ID. |
static OptionID |
KCOMP_ID
Parameter to specify the number of nearest neighbors of an object to be
considered for computing its LOOP_SCORE, must be an integer greater than 1.
|
(package private) int |
kreach
Holds the value of
KREACH_ID. |
static OptionID |
KREACH_ID
Parameter to specify the number of nearest neighbors of an object to be
considered for computing its LOOP_SCORE, must be an integer greater than 1.
|
(package private) double |
lambda
Hold the value of
LAMBDA_ID. |
static OptionID |
LAMBDA_ID
Parameter to specify the number of nearest neighbors of an object to be
considered for computing its LOOP_SCORE, must be an integer greater than 1.
|
private static Logging |
LOG
The logger for this class.
|
(package private) static boolean |
objectIsInKNN
Include object itself in kNN neighborhood.
|
static OptionID |
REACHABILITY_DISTANCE_FUNCTION_ID
The distance function to determine the reachability distance between
database objects.
|
protected DistanceFunction<? super O,D> |
reachabilityDistanceFunction
Preprocessor Step 1.
|
| Constructor and Description |
|---|
LoOP(int kreach,
int kcomp,
DistanceFunction<? super O,D> reachabilityDistanceFunction,
DistanceFunction<? super O,D> comparisonDistanceFunction,
double lambda)
Constructor with parameters.
|
| Modifier and Type | Method and Description |
|---|---|
TypeInformation[] |
getInputTypeRestriction()
Get the input type restriction used for negotiating the data query.
|
protected Pair<KNNQuery<O,D>,KNNQuery<O,D>> |
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.
|
makeParameterDistanceFunction, runclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitrunprivate static final Logging LOG
public static final OptionID REACHABILITY_DISTANCE_FUNCTION_ID
public static final OptionID COMPARISON_DISTANCE_FUNCTION_ID
public static final OptionID KREACH_ID
public static final OptionID KCOMP_ID
public static final OptionID LAMBDA_ID
int kreach
KREACH_ID.int kcomp
KCOMP_ID.double lambda
LAMBDA_ID.protected DistanceFunction<? super O,D extends NumberDistance<D,?>> reachabilityDistanceFunction
protected DistanceFunction<? super O,D extends NumberDistance<D,?>> comparisonDistanceFunction
static boolean objectIsInKNN
public LoOP(int kreach,
int kcomp,
DistanceFunction<? super O,D> reachabilityDistanceFunction,
DistanceFunction<? super O,D> comparisonDistanceFunction,
double lambda)
kreach - k for reachabilitykcomp - k for comparisonreachabilityDistanceFunction - distance function for reachabilitycomparisonDistanceFunction - distance function for comparisonlambda - Lambda parameterprotected Pair<KNNQuery<O,D>,KNNQuery<O,D>> 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 processpublic TypeInformation[] getInputTypeRestriction()
AbstractAlgorithmgetInputTypeRestriction in interface AlgorithmgetInputTypeRestriction in class AbstractAlgorithm<OutlierResult>protected Logging getLogger()
AbstractAlgorithmgetLogger in class AbstractAlgorithm<OutlierResult>