Class OPTICSList<O>

  • Type Parameters:
    O - the type of objects handled by the algorithm
    All Implemented Interfaces:
    elki.Algorithm, OPTICSTypeAlgorithm

    @Title("OPTICS: Density-Based Hierarchical Clustering (implementation using a list)")
    @Reference(authors="Mihael Ankerst, Markus M. Breunig, Hans-Peter Kriegel, J\u00f6rg Sander",
               title="OPTICS: Ordering Points to Identify the Clustering Structure",
               booktitle="Proc. ACM SIGMOD Int. Conf. on Management of Data (SIGMOD \'99)",
               url="https://doi.org/10.1145/304181.304187",
               bibkey="DBLP:conf/sigmod/AnkerstBKS99")
    public class OPTICSList<O>
    extends AbstractOPTICS<O>
    The OPTICS algorithm for density-based hierarchical clustering.

    Algorithm to find density-connected sets in a database based on the parameters 'minPts' and 'epsilon' (specifying a volume). These two parameters determine a density threshold for clustering.

    This version is implemented using a list, always scanning the list for the maximum. While this could be cheaper than the complex heap updates, benchmarks indicate the heap version is usually still preferable.

    Reference:

    Mihael Ankerst, Markus M. Breunig, Hans-Peter Kriegel, Jörg Sander
    OPTICS: Ordering Points to Identify the Clustering Structure
    Proc. ACM SIGMOD Int. Conf. on Management of Data (SIGMOD '99)

    Since:
    0.7.0
    Author:
    Elke Achtert, Erich Schubert
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      private class  OPTICSList.Instance
      Instance for processing a single data set.
      static class  OPTICSList.Par<O>
      Parameterization class.
      • Nested classes/interfaces inherited from interface elki.Algorithm

        elki.Algorithm.Utils
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static elki.logging.Logging LOG
      The logger for this class.
    • Constructor Summary

      Constructors 
      Constructor Description
      OPTICSList​(elki.distance.Distance<? super O> distance, double epsilon, int minpts)
      Constructor.
    • Field Detail

      • LOG

        private static final elki.logging.Logging LOG
        The logger for this class.
    • Constructor Detail

      • OPTICSList

        public OPTICSList​(elki.distance.Distance<? super O> distance,
                          double epsilon,
                          int minpts)
        Constructor.
        Parameters:
        distance - Distance function
        epsilon - Epsilon value
        minpts - Minpts value
    • Method Detail

      • run

        public ClusterOrder run​(elki.database.relation.Relation<O> relation)
        Description copied from class: AbstractOPTICS
        Run OPTICS on the database.
        Specified by:
        run in class AbstractOPTICS<O>
        Parameters:
        relation - Relation
        Returns:
        Result