Environment for
DeveLoping
KDD-Applications
Supported by Index-Structures

de.lmu.ifi.dbs.elki.math.linearalgebra.pca
Class RelativeEigenPairFilter

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.math.linearalgebra.pca.RelativeEigenPairFilter
All Implemented Interfaces:
EigenPairFilter, Parameterizable

public class RelativeEigenPairFilter
extends AbstractParameterizable
implements EigenPairFilter

The RelativeEigenPairFilter sorts the eigenpairs in descending order of their eigenvalues and marks the first eigenpairs who are a certain factor above the average of the remaining eigenvalues. It is closely related to the WeakEigenPairFilter, and differs mostly by comparing to the remaining Eigenvalues, not to the total sum. There are some situations where one or the other is superior, especially when it comes to handling nested clusters and strong global correlations that are not too interesting. These benefits usually only make a difference at higher dimensionalities.

Author:
Erich Schubert

Field Summary
static double DEFAULT_RALPHA
          The default value for ralpha.
static OptionID EIGENPAIR_FILTER_RALPHA
          OptionID for RALPHA_PARAM
private  double ralpha
          The noise tolerance level for weak eigenvectors
private  DoubleParameter RALPHA_PARAM
          Parameter relative alpha.
 
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, logger
 
Constructor Summary
RelativeEigenPairFilter()
          Provides a new EigenPairFilter that sorts the eigenpairs in descending order of their eigenvalues and marks the first eigenpairs, whose sum of eigenvalues is higher than the given percentage of the sum of all eigenvalues as string eigenpairs.
 
Method Summary
 FilteredEigenPairs filter(SortedEigenPairs eigenPairs)
          Filter eigenpairs
 List<String> setParameters(List<String> args)
          Set parameters
 String shortDescription()
          Get parameter description.
 
Methods inherited from class de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizable
addOption, addParameterizable, addParameterizable, checkGlobalParameterConstraints, collectOptions, getAttributeSettings, getParameters, rememberParametersExcept, removeOption, removeParameterizable
 
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
 
Methods inherited from interface de.lmu.ifi.dbs.elki.utilities.optionhandling.Parameterizable
checkGlobalParameterConstraints, collectOptions, getParameters
 

Field Detail

EIGENPAIR_FILTER_RALPHA

public static final OptionID EIGENPAIR_FILTER_RALPHA
OptionID for RALPHA_PARAM


DEFAULT_RALPHA

public static final double DEFAULT_RALPHA
The default value for ralpha.

See Also:
Constant Field Values

RALPHA_PARAM

private final DoubleParameter RALPHA_PARAM
Parameter relative alpha.


ralpha

private double ralpha
The noise tolerance level for weak eigenvectors

Constructor Detail

RelativeEigenPairFilter

public RelativeEigenPairFilter()
Provides a new EigenPairFilter that sorts the eigenpairs in descending order of their eigenvalues and marks the first eigenpairs, whose sum of eigenvalues is higher than the given percentage of the sum of all eigenvalues as string eigenpairs.

Method Detail

filter

public FilteredEigenPairs filter(SortedEigenPairs eigenPairs)
Filter eigenpairs

Specified by:
filter in interface EigenPairFilter
Parameters:
eigenPairs - the eigenPairs (i.e. the eigenvectors and
Returns:
the filtered eigenpairs

shortDescription

public String shortDescription()
Get parameter description.

Specified by:
shortDescription in interface Parameterizable
Overrides:
shortDescription in class AbstractParameterizable
Returns:
Description of the class

setParameters

public List<String> setParameters(List<String> args)
                           throws ParameterException
Set parameters

Specified by:
setParameters in interface Parameterizable
Overrides:
setParameters in class AbstractParameterizable
Parameters:
args - parameters to set the attributes accordingly to
Returns:
a list containing the unused parameters
Throws:
ParameterException - in case of wrong parameter-setting

Release 0.2.1 (2009-07-13_1605)