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 classDropEigenPairFilter.ParParameterization class.
-
Field Summary
Fields Modifier and Type Field Description static doubleDEFAULT_WALPHAThe default value for walpha.private doublewalphaThe 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 intfilter(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:EigenPairFilterFilters the specified eigenvalues into strong and weak eigenvalues, where strong eigenvalues have high variance and weak eigenvalues have small variance.- Specified by:
filterin interfaceEigenPairFilter- Parameters:
eigenValues- the array of eigenvalues, must be sorted descending- Returns:
- the number of eigenvectors to keep
-
-