Environment for
DeveLoping
KDD-Applications
Supported by Index-Structures

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

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.SignificantEigenPairFilter
All Implemented Interfaces:
EigenPairFilter, Parameterizable

public class SignificantEigenPairFilter
extends AbstractParameterizable
implements EigenPairFilter

The SignificantEigenPairFilter sorts the eigenpairs in descending order of their eigenvalues and chooses the contrast of an Eigenvalue to the remaining Eigenvalues is maximal. It is closely related to the WeakEigenPairFilter and RelativeEigenPairFilter. But while the RelativeEigenPairFilter chooses the highest dimensionality that satisfies the relative alpha levels, the SignificantEigenPairFilter will chose the local dimensionality such that the 'contrast' is maximal. 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_WALPHA
          The default value for walpha.
private  double walpha
          The noise tolerance level for weak eigenvectors
private  DoubleParameter WALPHA_PARAM
          Parameter weak 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
SignificantEigenPairFilter()
          Provides a new EigenPairFilter that sorts the eigenpairs in decending 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

DEFAULT_WALPHA

public static final double DEFAULT_WALPHA
The default value for walpha. Not used by default, we're going for maximum contrast only.

See Also:
Constant Field Values

WALPHA_PARAM

private final DoubleParameter WALPHA_PARAM
Parameter weak alpha.


walpha

private double walpha
The noise tolerance level for weak eigenvectors

Constructor Detail

SignificantEigenPairFilter

public SignificantEigenPairFilter()
Provides a new EigenPairFilter that sorts the eigenpairs in decending 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)