de.lmu.ifi.dbs.elki.math.linearalgebra.pca.filter

Class SignificantEigenPairFilter

• java.lang.Object
• de.lmu.ifi.dbs.elki.math.linearalgebra.pca.filter.SignificantEigenPairFilter
• All Implemented Interfaces:
EigenPairFilter

@Title(value="Significant EigenPair Filter")
@Description(value="Sorts the eigenpairs in decending order of their eigenvalues and looks for the maxmimum contrast of current Eigenvalue / average of remaining Eigenvalues.")
public class SignificantEigenPairFilter
extends java.lang.Object
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.
Since:
0.2
Author:
Erich Schubert
• Nested Class Summary

Nested Classes
Modifier and Type Class and Description
static class  SignificantEigenPairFilter.Parameterizer
Parameterization class.
• Field Summary

Fields
Modifier and Type Field and Description
static double DEFAULT_WALPHA
The default value for walpha.
private double walpha
The noise tolerance level for weak eigenvectors
• Fields inherited from interface de.lmu.ifi.dbs.elki.math.linearalgebra.pca.filter.EigenPairFilter

PCA_EIGENPAIR_FILTER
• Constructor Summary

Constructors
Constructor and Description
SignificantEigenPairFilter(double walpha)
Constructor.
• Method Summary

All Methods
Modifier and Type Method and Description
int filter(double[] eigenPairs)
Filters the specified eigenvalues into strong and weak eigenvalues, where strong eigenvalues have high variance and weak eigenvalues have small variance.
• Methods inherited from class java.lang.Object

clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
• 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.
Constant Field Values
• walpha

private double walpha
The noise tolerance level for weak eigenvectors
• Constructor Detail

• SignificantEigenPairFilter

public SignificantEigenPairFilter(double walpha)
Constructor.
Parameters:
walpha -
• Method Detail

• filter

public int filter(double[] eigenPairs)
Description copied from interface: EigenPairFilter
Filters the specified eigenvalues into strong and weak eigenvalues, where strong eigenvalues have high variance and weak eigenvalues have small variance.
Specified by:
filter in interface EigenPairFilter
Parameters:
eigenPairs - the array of eigenvalues, must be sorted descending
Returns:
the number of eigenvectors to keep