de.lmu.ifi.dbs.elki.algorithm.outlier
Class KNNWeightOutlier<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.KNNWeightOutlier<O,D>
Type Parameters:
O - the type of DatabaseObjects handled by this Algorithm
D - the type of Distance used by this Algorithm
All Implemented Interfaces:
Algorithm, OutlierAlgorithm, InspectionUtilFrequentlyScanned, Parameterizable

@Title(value="KNNWeight outlier detection")
@Description(value="Outlier Detection based on the distances of an object to its k nearest neighbors.")
@Reference(authors="F. Angiulli, C. Pizzuti",
           title="Fast Outlier Detection in High Dimensional Spaces",
           booktitle="Proc. European Conference on Principles of Knowledge Discovery and Data Mining (PKDD\'02), Helsinki, Finland, 2002",
           url="http://dx.doi.org/10.1007/3-540-45681-3_2")
public class KNNWeightOutlier<O,D extends NumberDistance<D,?>>
extends AbstractDistanceBasedAlgorithm<O,D,OutlierResult>
implements OutlierAlgorithm

Outlier Detection based on the accumulated distances of a point to its k nearest neighbors. Based on: F. Angiulli, C. Pizzuti: Fast Outlier Detection in High Dimensional Spaces. In: Proc. European Conference on Principles of Knowledge Discovery and Data Mining (PKDD'02), Helsinki, Finland, 2002.


Nested Class Summary
static class KNNWeightOutlier.Parameterizer<O,D extends NumberDistance<D,?>>
          Parameterization class.
 
Field Summary
private  int k
          Holds the value of K_ID.
static OptionID K_ID
          Parameter to specify the k nearest neighbor
static OptionID KNNQUERY_ID
          The kNN query used.
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
KNNWeightOutlier(DistanceFunction<? super O,D> distanceFunction, int k)
          Constructor with parameters.
 
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)
          Runs the algorithm in the timed evaluation part.
 
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 k nearest neighbor


KNNQUERY_ID

public static final OptionID KNNQUERY_ID
The kNN query used.


k

private int k
Holds the value of K_ID.

Constructor Detail

KNNWeightOutlier

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

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

run

public OutlierResult run(Database database,
                         Relation<O> relation)
Runs the algorithm in the timed evaluation part.


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)