de.lmu.ifi.dbs.elki.algorithm.outlier
Class EMOutlier<V extends NumberVector<V,?>>

java.lang.Object
  extended by de.lmu.ifi.dbs.elki.algorithm.AbstractAlgorithm<OutlierResult>
      extended by de.lmu.ifi.dbs.elki.algorithm.outlier.EMOutlier<V>
Type Parameters:
V - Vector type
All Implemented Interfaces:
Algorithm, OutlierAlgorithm, InspectionUtilFrequentlyScanned, Parameterizable

@Title(value="EM Outlier: Outlier Detection based on the generic EM clustering")
@Description(value="The outlier score assigned is based on the highest cluster probability obtained from EM clustering.")
public class EMOutlier<V extends NumberVector<V,?>>
extends AbstractAlgorithm<OutlierResult>
implements OutlierAlgorithm

outlier detection algorithm using EM Clustering. If an object does not belong to any cluster it is supposed to be an outlier. If the probability for an object to belong to the most probable cluster is still relatively low this object is an outlier.


Nested Class Summary
static class EMOutlier.Parameterizer<V extends NumberVector<V,?>>
          Parameterization class.
 
Field Summary
private  EM<V> emClustering
          Inner algorithm.
private static Logging logger
          The logger for this class.
 
Constructor Summary
EMOutlier(EM<V> emClustering)
          Constructor with an existing em clustering algorithm.
 
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<V> relation)
          Runs the algorithm in the timed evaluation part.
 
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.


emClustering

private EM<V extends NumberVector<V,?>> emClustering
Inner algorithm.

Constructor Detail

EMOutlier

public EMOutlier(EM<V> emClustering)
Constructor with an existing em clustering algorithm.

Parameters:
emClustering - EM clustering algorithm to use.
Method Detail

run

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

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)