Environment for
DeveLoping
KDD-Applications
Supported by Index-Structures

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

java.lang.Object
  extended by de.lmu.ifi.dbs.elki.logging.AbstractLoggable
      extended by de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizable
          extended by de.lmu.ifi.dbs.elki.preprocessing.ProjectedDBSCANPreprocessor<D,V>
All Implemented Interfaces:
Loggable, Preprocessor<V>, Parameterizable
Direct Known Subclasses:
FourCPreprocessor, KernelFourCPreprocessor, PreDeConPreprocessor

public abstract class ProjectedDBSCANPreprocessor<D extends Distance<D>,V extends RealVector<V,?>>
extends AbstractParameterizable
implements Preprocessor<V>

Abstract superclass for preprocessor of algorithms extending the ProjectedDBSCAN alghorithm.

Author:
Arthur Zimek todo parameter

Field Summary
static String DEFAULT_DISTANCE_FUNCTION
          The default range query distance function.
static String DISTANCE_FUNCTION_D
          Description for parameter range query distance function.
static String DISTANCE_FUNCTION_P
          Parameter for range query distance function.
private  String epsilon
          Contains the value of parameter epsilon;
static PatternParameter EPSILON_PARAM
          Parameter to specify the maximum radius of the neighborhood to be considered, must be suitable to LocallyWeightedDistanceFunction.
private  int minpts
          Holds the value of parameter minpts.
private  IntParameter MINPTS_PARAM
          Parameter to specify the threshold for minimum number of points in the epsilon-neighborhood of a point, must be an integer greater than 0.
protected  DistanceFunction<V,D> rangeQueryDistanceFunction
          The distance function for the variance analysis.
 
Fields inherited from class de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizable
optionHandler
 
Fields inherited from class de.lmu.ifi.dbs.elki.logging.AbstractLoggable
debug
 
Constructor Summary
protected ProjectedDBSCANPreprocessor()
          Provides a new Preprocessor that computes the correlation dimension of objects of a certain database.
 
Method Summary
 List<AttributeSettings> getAttributeSettings()
          Returns the settings of all options assigned to the option handler.
 void run(Database<V> database, boolean verbose, boolean time)
          This method executes the actual preprocessing step of this Preprocessor for the objects of the specified database.
protected abstract  void runVarianceAnalysis(Integer id, List<QueryResult<D>> neighbors, Database<V> database)
          This method implements the type of variance analysis to be computed for a given point.
 String[] setParameters(String[] args)
          Sets the attributes of the class accordingly to the given parameters.
 
Methods inherited from class de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizable
addOption, checkGlobalParameterConstraints, deleteOption, description, description, description, getParameters, getParameterValue, getPossibleOptions, inlineDescription, isSet, setParameters
 
Methods inherited from class de.lmu.ifi.dbs.elki.logging.AbstractLoggable
debugFine, debugFiner, debugFinest, exception, message, progress, progress, progress, verbose, verbose, warning
 
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.utilities.optionhandling.Parameterizable
checkGlobalParameterConstraints, description, getParameters, getPossibleOptions, inlineDescription
 

Field Detail

EPSILON_PARAM

public static final PatternParameter EPSILON_PARAM
Parameter to specify the maximum radius of the neighborhood to be considered, must be suitable to LocallyWeightedDistanceFunction.

Key: -epsilon


MINPTS_PARAM

private final IntParameter MINPTS_PARAM
Parameter to specify the threshold for minimum number of points in the epsilon-neighborhood of a point, must be an integer greater than 0.

Key: -projdbscan.minpts


DEFAULT_DISTANCE_FUNCTION

public static final String DEFAULT_DISTANCE_FUNCTION
The default range query distance function.


DISTANCE_FUNCTION_P

public static final String DISTANCE_FUNCTION_P
Parameter for range query distance function.

See Also:
Constant Field Values

DISTANCE_FUNCTION_D

public static final String DISTANCE_FUNCTION_D
Description for parameter range query distance function.


epsilon

private String epsilon
Contains the value of parameter epsilon;


rangeQueryDistanceFunction

protected DistanceFunction<V extends RealVector<V,?>,D extends Distance<D>> rangeQueryDistanceFunction
The distance function for the variance analysis.


minpts

private int minpts
Holds the value of parameter minpts.

Constructor Detail

ProjectedDBSCANPreprocessor

protected ProjectedDBSCANPreprocessor()
Provides a new Preprocessor that computes the correlation dimension of objects of a certain database.

Method Detail

run

public void run(Database<V> database,
                boolean verbose,
                boolean time)
Description copied from interface: Preprocessor
This method executes the actual preprocessing step of this Preprocessor for the objects of the specified database.

Specified by:
run in interface Preprocessor<V extends RealVector<V,?>>
Parameters:
database - the database for which the preprocessing is performed
verbose - flag to allow verbose messages while performing the algorithm
time - flag to request output of performance time
See Also:
Preprocessor.run(de.lmu.ifi.dbs.elki.database.Database,boolean,boolean)

runVarianceAnalysis

protected abstract void runVarianceAnalysis(Integer id,
                                            List<QueryResult<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.

Parameters:
id - the given point
neighbors - the neighbors as query results of the given point
database - the database for which the preprocessing is performed

setParameters

public String[] setParameters(String[] args)
                       throws ParameterException
Description copied from interface: Parameterizable
Sets the attributes of the class accordingly to the given parameters. Returns a new String array containing those entries of the given array that are neither expected nor used by this Parameterizable.

Specified by:
setParameters in interface Parameterizable
Overrides:
setParameters in class AbstractParameterizable
Parameters:
args - parameters to set the attributes accordingly to
Returns:
String[] an array containing the unused parameters
Throws:
ParameterException - in case of wrong parameter-setting
See Also:
Parameterizable.setParameters(String[])

getAttributeSettings

public List<AttributeSettings> getAttributeSettings()
Description copied from class: AbstractParameterizable
Returns the settings of all options assigned to the option handler.

Specified by:
getAttributeSettings in interface Parameterizable
Overrides:
getAttributeSettings in class AbstractParameterizable
Returns:
the setting of the attributes of the parameterizable
See Also:
Parameterizable.getAttributeSettings()

Release 0.1 (2008-07-10_1838)