Environment for
DeveLoping
KDD-Applications
Supported by Index-Structures

de.lmu.ifi.dbs.elki.preprocessing
Class FourCPreprocessor<D extends Distance<D>,V extends NumberVector<V,?>>

java.lang.Object
  extended by de.lmu.ifi.dbs.elki.logging.AbstractLoggable
      extended by de.lmu.ifi.dbs.elki.preprocessing.ProjectedDBSCANPreprocessor<D,V>
          extended by de.lmu.ifi.dbs.elki.preprocessing.FourCPreprocessor<D,V>
Type Parameters:
D - Distance type
V - Vector type
All Implemented Interfaces:
Preprocessor<V>, Parameterizable

@Title(value="4C Preprocessor")
@Description(value="Computes the local dimensionality and locally weighted matrix of objects of a certain database according to the 4C algorithm.\nThe PCA is based on epsilon range queries.")
public class FourCPreprocessor<D extends Distance<D>,V extends NumberVector<V,?>>
extends ProjectedDBSCANPreprocessor<D,V>
implements Parameterizable

Preprocessor for 4C local dimensionality and locally weighted matrix assignment to objects of a certain database.

Author:
Arthur Zimek

Field Summary
private  boolean absolute
          Indicates whether delta is an absolute or a relative value.
private  Flag ABSOLUTE_FLAG
          Flag for marking parameter delta as an absolute value.
static double DEFAULT_DELTA
          The default value for delta.
private  double delta
          Threshold for strong eigenpairs, can be absolute or relative.
private  DoubleParameter DELTA_PARAM
          Option string for parameter delta.
private  PCAFilteredRunner<V,?> pca
          The Filtered PCA Runner
 
Fields inherited from class de.lmu.ifi.dbs.elki.preprocessing.ProjectedDBSCANPreprocessor
DEFAULT_DISTANCE_FUNCTION, EPSILON_PARAM, rangeQueryDistanceFunction
 
Fields inherited from class de.lmu.ifi.dbs.elki.logging.AbstractLoggable
debug, logger
 
Constructor Summary
FourCPreprocessor(Parameterization config)
          Constructor, adhering to Parameterizable
 
Method Summary
protected  void runVarianceAnalysis(Integer id, List<DistanceResultPair<D>> neighbors, Database<V> database)
          This method implements the type of variance analysis to be computed for a given point.
 
Methods inherited from class de.lmu.ifi.dbs.elki.preprocessing.ProjectedDBSCANPreprocessor
run
 
Methods inherited from class de.lmu.ifi.dbs.elki.logging.AbstractLoggable
debugFine, debugFiner, debugFinest, exception, progress, verbose, warning
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

ABSOLUTE_FLAG

private final Flag ABSOLUTE_FLAG
Flag for marking parameter delta as an absolute value.


DELTA_PARAM

private final DoubleParameter DELTA_PARAM
Option string for parameter delta.


DEFAULT_DELTA

public static final double DEFAULT_DELTA
The default value for delta.

See Also:
Constant Field Values

delta

private double delta
Threshold for strong eigenpairs, can be absolute or relative.


absolute

private boolean absolute
Indicates whether delta is an absolute or a relative value.


pca

private PCAFilteredRunner<V extends NumberVector<V,?>,?> pca
The Filtered PCA Runner

Constructor Detail

FourCPreprocessor

public FourCPreprocessor(Parameterization config)
Constructor, adhering to Parameterizable

Parameters:
config - Parameterization
Method Detail

runVarianceAnalysis

protected void runVarianceAnalysis(Integer id,
                                   List<DistanceResultPair<D>> neighbors,
                                   Database<V> database)
This method implements the type of variance analysis to be computed for a given point.

Example1: for 4C, this method should implement a PCA for the given point. Example2: for PreDeCon, this method should implement a simple axis-parallel variance analysis.

Specified by:
runVarianceAnalysis in class ProjectedDBSCANPreprocessor<D extends Distance<D>,V extends NumberVector<V,?>>
Parameters:
id - the given point
neighbors - the neighbors as query results of the given point
database - the database for which the preprocessing is performed

Release 0.3 (2010-03-31_1612)