de.lmu.ifi.dbs.elki.algorithm.outlier
Class LDOF<O,D extends NumberDistance<D,?>>

java.lang.Object
  extended by de.lmu.ifi.dbs.elki.algorithm.AbstractAlgorithm<R>
      extended by de.lmu.ifi.dbs.elki.algorithm.AbstractDistanceBasedAlgorithm<O,D,OutlierResult>
          extended by de.lmu.ifi.dbs.elki.algorithm.outlier.LDOF<O,D>
Type Parameters:
O - the type of DatabaseObjects handled by this Algorithm
All Implemented Interfaces:
Algorithm, OutlierAlgorithm, InspectionUtilFrequentlyScanned, Parameterizable

@Title(value="LDOF: Local Distance-Based Outlier Factor")
@Description(value="Local outlier detection appraoch suitable for scattered data by averaging the kNN distance over all k nearest neighbors")
@Reference(authors="K. Zhang, M. Hutter, H. Jin",
           title="A New Local Distance-Based Outlier Detection Approach for Scattered Real-World Data",
           booktitle="Proc. 13th Pacific-Asia Conference on Advances in Knowledge Discovery and Data Mining (PAKDD 2009), Bangkok, Thailand, 2009",
           url="http://dx.doi.org/10.1007/978-3-642-01307-2_84")
public class LDOF<O,D extends NumberDistance<D,?>>
extends AbstractDistanceBasedAlgorithm<O,D,OutlierResult>
implements OutlierAlgorithm

Computes the LDOF (Local Distance-Based Outlier Factor) for all objects of a Database.

Reference:
K. Zhang, M. Hutter, H. Jin: A New Local Distance-Based Outlier Detection Approach for Scattered Real-World Data.
In: Proc. 13th Pacific-Asia Conference on Advances in Knowledge Discovery and Data Mining (PAKDD 2009), Bangkok, Thailand, 2009.


Nested Class Summary
static class LDOF.Parameterizer<O,D extends NumberDistance<D,?>>
          Parameterization class.
 
Field Summary
(package private)  int k
          Holds the value of K_ID.
static OptionID K_ID
          Parameter to specify the number of nearest neighbors of an object to be considered for computing its LDOF_SCORE, must be an integer greater than 1.
private static double LDOF_BASELINE
          The baseline for LDOF values.
private static Logging logger
          The logger for this class.
 
Fields inherited from class de.lmu.ifi.dbs.elki.algorithm.AbstractDistanceBasedAlgorithm
DISTANCE_FUNCTION_ID
 
Constructor Summary
LDOF(DistanceFunction<? super O,D> distanceFunction, int k)
          Constructor.
 
Method Summary
 TypeInformation[] getInputTypeRestriction()
          Get the input type restriction used for negotiating the data query.
protected  Logging getLogger()
          Get the (STATIC) logger for this class.
 OutlierResult run(Database database, Relation<O> relation)
           
 
Methods inherited from class de.lmu.ifi.dbs.elki.algorithm.AbstractDistanceBasedAlgorithm
getDistanceFunction
 
Methods inherited from class de.lmu.ifi.dbs.elki.algorithm.AbstractAlgorithm
makeParameterDistanceFunction, run
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface de.lmu.ifi.dbs.elki.algorithm.outlier.OutlierAlgorithm
run
 

Field Detail

logger

private static final Logging logger
The logger for this class.


K_ID

public static final OptionID K_ID
Parameter to specify the number of nearest neighbors of an object to be considered for computing its LDOF_SCORE, must be an integer greater than 1.


LDOF_BASELINE

private static final double LDOF_BASELINE
The baseline for LDOF values. The paper gives 0.5 for uniform distributions, although one might also discuss using 1.0 as baseline.

See Also:
Constant Field Values

k

int k
Holds the value of K_ID.

Constructor Detail

LDOF

public LDOF(DistanceFunction<? super O,D> distanceFunction,
            int k)
Constructor.

Parameters:
distanceFunction - distance function
k - k Parameter
Method Detail

run

public OutlierResult run(Database database,
                         Relation<O> relation)
                  throws IllegalStateException
Throws:
IllegalStateException

getInputTypeRestriction

public TypeInformation[] getInputTypeRestriction()
Description copied from class: AbstractAlgorithm
Get the input type restriction used for negotiating the data query.

Specified by:
getInputTypeRestriction in interface Algorithm
Specified by:
getInputTypeRestriction in class AbstractAlgorithm<OutlierResult>
Returns:
Type restriction

getLogger

protected Logging getLogger()
Description copied from class: AbstractAlgorithm
Get the (STATIC) logger for this class.

Specified by:
getLogger in class AbstractAlgorithm<OutlierResult>
Returns:
the static logger

Release 0.4.0 (2011-09-20_1324)