Class SignificantEigenPairFilter
- java.lang.Object
-
- elki.math.linearalgebra.pca.filter.SignificantEigenPairFilter
-
- All Implemented Interfaces:
EigenPairFilter
@Title("Significant EigenPair Filter") @Description("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 Description static class
SignificantEigenPairFilter.Par
Parameterization class.
-
Field Summary
Fields Modifier and Type Field Description static double
DEFAULT_WALPHA
The default value for walpha.private double
walpha
The noise tolerance level for weak eigenvectors-
Fields inherited from interface elki.math.linearalgebra.pca.filter.EigenPairFilter
PCA_EIGENPAIR_FILTER
-
-
Constructor Summary
Constructors Constructor Description SignificantEigenPairFilter(double walpha)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method 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.
-
-
-
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
private double walpha
The noise tolerance level for weak eigenvectors
-
-
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 interfaceEigenPairFilter
- Parameters:
eigenPairs
- the array of eigenvalues, must be sorted descending- Returns:
- the number of eigenvectors to keep
-
-