Class AbstractOPTICS<O>

  • Type Parameters:
    O - the type of DatabaseObjects handled by the algorithm
    All Implemented Interfaces:
    Algorithm, OPTICSTypeAlgorithm
    Direct Known Subclasses:
    OPTICSHeap, OPTICSList

    @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")
    @Alias("OPTICS")
    public abstract class AbstractOPTICS<O>
    extends java.lang.Object
    implements OPTICSTypeAlgorithm
    The OPTICS algorithm for density-based hierarchical clustering.

    This is the abstract base class, providing the shared parameters only.

    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
    • Field Detail

      • distance

        protected Distance<? super O> distance
        Distance function used.
      • epsilon

        protected double epsilon
        Holds the maximum distance to search for objects (performance parameter)
      • minpts

        protected int minpts
        The density threshold, in number of points.
    • Constructor Detail

      • AbstractOPTICS

        public AbstractOPTICS​(Distance<? super O> distance,
                              double epsilon,
                              int minpts)
        Constructor.
        Parameters:
        distance - Distance function
        epsilon - Epsilon value
        minpts - Minpts value
    • 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 abstract ClusterOrder run​(Relation<O> relation)
        Run OPTICS on the database.
        Parameters:
        relation - Relation
        Returns:
        Result