Class 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
    • 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
    • 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.
      • 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.
        See Also:
        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