Class HiSC

  • All Implemented Interfaces:
    Algorithm, GeneralizedOPTICS, OPTICSTypeAlgorithm

    @Title("Finding Hierarchies of Subspace Clusters")
    @Description("Algorithm for detecting hierarchies of subspace clusters.")
    @Reference(authors="Elke Achtert, Christian B\u00f6hm, Hans-Petre Kriegel, Peer Kr\u00f6ger, Ina M\u00fcller-Gorman, Arthur Zimek",
               title="Finding Hierarchies of Subspace Clusters",
               booktitle="Proc. 10th Europ. Conf. on Principles and Practice of Knowledge Discovery in Databases (PKDD\'06)",
               url="https://doi.org/10.1007/11871637_42",
               bibkey="DBLP:conf/pkdd/AchtertBKKMZ06")
    public class HiSC
    extends java.lang.Object
    implements GeneralizedOPTICS
    Implementation of the HiSC algorithm, an algorithm for detecting hierarchies of subspace clusters.

    Reference:

    Elke Achtert, Christian Böhm, Hans-Peter Kriegel, Peer Kröger, Ina Müller-Gorman, Arthur Zimek
    Finding Hierarchies of Subspace Clusters
    Proc. 10th Europ. Conf. on Principles and Practice of Knowledge Discovery in Databases (PKDD'06)

    Since:
    0.1
    Author:
    Elke Achtert
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      private class  HiSC.Instance
      Algorithm instance for a single data set.
      static class  HiSC.Par
      Parameterization class.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private double alpha
      Holds the maximum diversion allowed.
      protected int k
      The number of nearest neighbors considered to determine the preference vector.
      private static Logging LOG
      The logger for this class.
    • Constructor Summary

      Constructors 
      Constructor Description
      HiSC​(double alpha, int k)
      Constructor.
    • Field Detail

      • LOG

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

        private double alpha
        Holds the maximum diversion allowed.
      • k

        protected int k
        The number of nearest neighbors considered to determine the preference vector.
    • Constructor Detail

      • HiSC

        public HiSC​(double alpha,
                    int k)
        Constructor.
        Parameters:
        alpha - Alpha
        k - k
    • 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 HiSC algorithm
        Parameters:
        relation - Data relation
        Returns:
        OPTICS cluster order
      • weightedDistance

        public double weightedDistance​(NumberVector v1,
                                       NumberVector v2,
                                       long[] weightVector)
        Computes the weighted distance between the two specified vectors according to the given preference vector.
        Parameters:
        v1 - the first vector
        v2 - the second vector
        weightVector - the preference vector
        Returns:
        the weighted distance between the two specified vectors according to the given preference vector