Class DBSCAN<O>

  • Type Parameters:
    O - the type of Object the algorithm is applied to
    All Implemented Interfaces:
    Algorithm, ClusteringAlgorithm<Clustering<Model>>

    @Title("DBSCAN: Density-Based Clustering of Applications with Noise")
    @Description("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.")
    @Reference(authors="Martin Ester, Hans-Peter Kriegel, J\u00f6rg Sander, Xiaowei Xu",title="A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise",booktitle="Proc. 2nd Int. Conf. on Knowledge Discovery and Data Mining (KDD \'96)",url="http://www.aaai.org/Library/KDD/1996/kdd96-037.php",bibkey="DBLP:conf/kdd/EsterKSX96") @Reference(authors="Erich Schubert, J\u00f6rg Sander, Martin Ester, Hans-Peter Kriegel, Xiaowei Xu",title="DBSCAN Revisited, Revisited: Why and How You Should (Still) Use DBSCAN",booktitle="ACM Trans. Database Systems (TODS)",url="https://doi.org/10.1145/3068335",bibkey="DBLP:journals/tods/SchubertSEKX17")
    @Priority(200)
    public class DBSCAN<O>
    extends java.lang.Object
    implements ClusteringAlgorithm<Clustering<Model>>
    Density-Based Clustering of Applications with Noise (DBSCAN), an algorithm to find density-connected sets in a database.

    Reference:

    Martin Ester, Hans-Peter Kriegel, Jörg Sander, Xiaowei Xu
    A Density-Based Algorithm for Discovering Clusters in Large Spatial Databases with Noise
    Proc. 2nd Int. Conf. on Knowledge Discovery and Data Mining (KDD '96)

    Further discussion:

    Erich Schubert, Jörg Sander, Martin Ester, Hans-Peter Kriegel, Xiaowei Xu
    DBSCAN Revisited, Revisited: Why and How You Should (Still) Use DBSCAN
    ACM Trans. Database Systems (TODS)

    Since:
    0.1
    Author:
    Arthur Zimek, Erich Schubert
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      private class  DBSCAN.Instance
      Instance for a single data set.
      static class  DBSCAN.Par<O>
      Parameterization class.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected Distance<? super O> distance
      Distance function used.
      protected double epsilon
      Holds the epsilon radius threshold.
      private static Logging LOG
      The logger for this class.
      protected int minpts
      Holds the minimum cluster size.
    • Constructor Summary

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

      • LOG

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

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

        protected double epsilon
        Holds the epsilon radius threshold.
      • minpts

        protected int minpts
        Holds the minimum cluster size.
    • Constructor Detail

      • DBSCAN

        public DBSCAN​(Distance<? super O> distance,
                      double epsilon,
                      int minpts)
        Constructor with parameters.
        Parameters:
        distance - Distance function
        epsilon - Epsilon value
        minpts - Minpts parameter