de.lmu.ifi.dbs.elki.algorithm.outlier
Class INFLO<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.INFLO<O,D>
Type Parameters:
O - the type of DatabaseObject the algorithm is applied on
All Implemented Interfaces:
Algorithm, OutlierAlgorithm, InspectionUtilFrequentlyScanned, Parameterizable

@Title(value="INFLO: Influenced Outlierness Factor")
@Description(value="Ranking Outliers Using Symmetric Neigborhood Relationship")
@Reference(authors="Jin, W., Tung, A., Han, J., and Wang, W",
           title="Ranking outliers using symmetric neighborhood relationship",
           booktitle="Proc. Pacific-Asia Conf. on Knowledge Discovery and Data Mining (PAKDD), Singapore, 2006",
           url="http://dx.doi.org/10.1007/11731139_68")
public class INFLO<O,D extends NumberDistance<D,?>>
extends AbstractDistanceBasedAlgorithm<O,D,OutlierResult>
implements OutlierAlgorithm

INFLO provides the Mining Algorithms (Two-way Search Method) for Influence Outliers using Symmetric Relationship

Reference:

Jin, W., Tung, A., Han, J., and Wang, W. 2006
Ranking outliers using symmetric neighborhood relationship
In Proc. Pacific-Asia Conf. on Knowledge Discovery and Data Mining (PAKDD), Singapore


Nested Class Summary
static class INFLO.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 number of nearest neighbors of an object to be considered for computing its INFLO_SCORE. must be an integer greater than 1.
private static Logging logger
          The logger for this class.
private  double m
          Holds the value of M_ID.
static OptionID M_ID
          Parameter to specify if any object is a Core Object must be a double greater than 0.0 see paper "Two-way search method" 3.2
 
Fields inherited from class de.lmu.ifi.dbs.elki.algorithm.AbstractDistanceBasedAlgorithm
DISTANCE_FUNCTION_ID
 
Constructor Summary
INFLO(DistanceFunction<? super O,D> distanceFunction, double m, 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)
          Runs the algorithm.
 
Methods inherited from class de.lmu.ifi.dbs.elki.algorithm.AbstractDistanceBasedAlgorithm
getDistanceFunction
 
Methods inherited from class de.lmu.ifi.dbs.elki.algorithm.AbstractAlgorithm
makeParameterDistanceFunction
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

logger

private static final Logging logger
The logger for this class.


M_ID

public static final OptionID M_ID
Parameter to specify if any object is a Core Object must be a double greater than 0.0

see paper "Two-way search method" 3.2


m

private double m
Holds the value of M_ID.


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 INFLO_SCORE. must be an integer greater than 1.


k

private int k
Holds the value of K_ID.

Constructor Detail

INFLO

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

Parameters:
distanceFunction - Distance function in use
m - m Parameter
k - k Parameter
Method Detail

run

public OutlierResult run(Database database)
                  throws IllegalStateException
Description copied from interface: Algorithm
Runs the algorithm.

Specified by:
run in interface Algorithm
Specified by:
run in interface OutlierAlgorithm
Overrides:
run in class AbstractAlgorithm<OutlierResult>
Parameters:
database - the database to run the algorithm on
Returns:
the Result computed by this algorithm
Throws:
IllegalStateException - if the algorithm has not been initialized properly (e.g. the setParameters(String[]) method has been failed to be called).

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)