O
- the type of DatabaseObjects handled by this Algorithm@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") 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 |
logger
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, run
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
run
private static final Logging logger
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
- kcomp
- reachabilityDistanceFunction
- comparisonDistanceFunction
- lambda
- protected Pair<KNNQuery<O,D>,KNNQuery<O,D>> getKNNQueries(Database database, Relation<O> relation, StepProgress stepprog)
database
- Databasestepprog
- Progress loggerpublic OutlierResult run(Database database, Relation<O> relation) throws IllegalStateException
IllegalStateException
public TypeInformation[] getInputTypeRestriction()
AbstractAlgorithm
getInputTypeRestriction
in interface Algorithm
getInputTypeRestriction
in class AbstractAlgorithm<OutlierResult>
protected Logging getLogger()
AbstractAlgorithm
getLogger
in class AbstractAlgorithm<OutlierResult>