Class CFSFDP<O>

  • Type Parameters:
    O - Object type
    All Implemented Interfaces:
    Algorithm, ClusteringAlgorithm<Clustering<SimplePrototypeModel<DBID>>>

    public class CFSFDP<O>
    extends java.lang.Object
    implements ClusteringAlgorithm<Clustering<SimplePrototypeModel<DBID>>>
    Tutorial code for Clustering by fast search and find of density peaks.

    While the authors named this "fast", the runtime clearly is O(n²) making this a rather slow method compared to k-means. The Science paper also does not do a good comparison to existing methods such as HDBSCAN, OPTICS, and mean-shift clustering.

    This is an adaptation of the original method to use priority search for accelerations, so the runtime can be better than pairwise distance computations (but supposedly still is O(n²))

    Reference:

    A. Rodriguez and A. Laio
    Clustering by fast search and find of density peaks
    Science 344 (6191), 2014

    Since:
    0.8.0
    Author:
    Erich Schubert
    • Field Detail

      • distance

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

        protected double dc
        Distance cutoff.
      • k

        protected int k
        Number of clusters to find.
    • Constructor Detail

      • CFSFDP

        protected CFSFDP​(Distance<? super O> distance,
                         double dc,
                         int k)
        Constructor.
        Parameters:
        distance - distance function
        dc - distance cutoff
        k - number of clusters