Class DropEigenPairFilter
- java.lang.Object
-
- elki.math.linearalgebra.pca.filter.DropEigenPairFilter
-
- All Implemented Interfaces:
EigenPairFilter
@Title("Drop EigenPair Filter") public class DropEigenPairFilter extends java.lang.Object implements EigenPairFilter
The "drop" filter looks for the largest drop in normalized relative eigenvalues.Let \( s_1 \ldots s_n \) be the eigenvalues.
Let \( a_k := 1/(n-k) \sum_{i=k..n} s_i \)
Then \( r_k := s_k / a_k \) is the relative eigenvalue.
The drop filter searches for \(\operatorname{arg\,max}_k r_k / r_{k+1} \)
- Since:
- 0.5.0
- Author:
- Erich Schubert
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
DropEigenPairFilter.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 DropEigenPairFilter(double walpha)
Constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description int
filter(double[] eigenValues)
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[] eigenValues)
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:
eigenValues
- the array of eigenvalues, must be sorted descending- Returns:
- the number of eigenvectors to keep
-
-