Class HiCO

  • All Implemented Interfaces:
    Algorithm, GeneralizedOPTICS, OPTICSTypeAlgorithm

    @Title("Mining Hierarchies of Correlation Clusters")
    @Description("Algorithm for detecting hierarchies of correlation clusters.")
    @Reference(authors="Elke Achtert, Christian B\u00f6hm, Peer Kr\u00f6ger, Arthur Zimek",
               title="Mining Hierarchies of Correlation Clusters",
               booktitle="Proc. Int. Conf. on Scientific and Statistical Database Management (SSDBM\'06)",
               url="https://doi.org/10.1109/SSDBM.2006.35",
               bibkey="DBLP:conf/ssdbm/AchtertBKZ06")
    public class HiCO
    extends java.lang.Object
    implements GeneralizedOPTICS
    Implementation of the HiCO algorithm, an algorithm for detecting hierarchies of correlation clusters.

    Reference:

    Elke Achtert, Christian Böhm, Peer Kröger, Arthur Zimek
    Mining Hierarchies of Correlation Clusters.
    Proc. Int. Conf. on Scientific and Statistical Database Management (SSDBM'06)

    Since:
    0.1
    Author:
    Elke Achtert
    • Field Detail

      • LOG

        private static final Logging LOG
        The logger for this class.
      • deltasq

        private double deltasq
        Delta parameter
      • mu

        private int mu
        Mu parameter.
      • k

        private int k
        Number of neighbors to query.
      • pca

        private PCARunner pca
        PCA utility object.
    • Constructor Detail

      • HiCO

        public HiCO​(int k,
                    PCARunner pca,
                    double alpha,
                    int mu,
                    double delta)
        Constructor.
        Parameters:
        k - number of neighbors k
        pca - PCA class
        alpha - Filter for selecting eigenvectors
        mu - Mu parameter
        delta - Delta parameter
    • Method Detail

      • getInputTypeRestriction

        public TypeInformation[] getInputTypeRestriction()
        Description copied from interface: Algorithm
        Get the input type restriction used for negotiating the data query.
        Specified by:
        getInputTypeRestriction in interface Algorithm
        Returns:
        Type restriction
      • run

        public ClusterOrder run​(Relation<? extends NumberVector> relation)
        Run the HiCO algorithm.
        Parameters:
        relation - Data relation
        Returns:
        OPTICS cluster order
      • correlationDistance

        public int correlationDistance​(PCAFilteredResult pca1,
                                       PCAFilteredResult pca2,
                                       int dimensionality)
        Computes the correlation distance between the two subspaces defined by the specified PCAs.
        Parameters:
        pca1 - first PCA
        pca2 - second PCA
        dimensionality - the dimensionality of the data space
        Returns:
        the correlation distance between the two subspaces defined by the specified PCAs
      • adjust

        private void adjust​(double[][] v,
                            double[] vector,
                            int corrDim)
        Inserts the specified vector into the given orthonormal matrix v at column corrDim. After insertion the matrix v is orthonormalized and column corrDim of matrix e_czech is set to the corrDim-th unit vector.
        Parameters:
        v - the orthonormal matrix of the eigenvectors
        vector - the vector to be inserted
        corrDim - the column at which the vector should be inserted