de.lmu.ifi.dbs.elki.math.linearalgebra.pca
Class SignificantEigenPairFilter
java.lang.Object
de.lmu.ifi.dbs.elki.logging.AbstractLoggable
de.lmu.ifi.dbs.elki.utilities.optionhandling.AbstractParameterizable
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
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. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
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
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.
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