Class HiSC

  • All Implemented Interfaces:
    elki.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.
      • Nested classes/interfaces inherited from interface elki.Algorithm

        elki.Algorithm.Utils
    • 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 elki.logging.Logging LOG
      The logger for this class.
    • Constructor Summary

      Constructors 
      Constructor Description
      HiSC​(double alpha, int k)
      Constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      elki.data.type.TypeInformation[] getInputTypeRestriction()  
      int getMinPts()
      Get the minpts value used.
      ClusterOrder run​(elki.database.relation.Relation<? extends elki.data.NumberVector> relation)
      Run the HiSC algorithm
      double weightedDistance​(elki.data.NumberVector v1, elki.data.NumberVector v2, long[] weightVector)
      Computes the weighted distance between the two specified vectors according to the given preference vector.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • LOG

        private static final elki.logging.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 elki.data.type.TypeInformation[] getInputTypeRestriction()
        Specified by:
        getInputTypeRestriction in interface elki.Algorithm
      • run

        public ClusterOrder run​(elki.database.relation.Relation<? extends elki.data.NumberVector> relation)
        Run the HiSC algorithm
        Parameters:
        relation - Data relation
        Returns:
        OPTICS cluster order
      • weightedDistance

        public double weightedDistance​(elki.data.NumberVector v1,
                                       elki.data.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