Class FastCLARANS<V>

  • Type Parameters:
    V - Vector type
    All Implemented Interfaces:
    Algorithm, ClusteringAlgorithm<Clustering<MedoidModel>>, KMedoidsClustering<V>

    @Reference(authors="Erich Schubert, Peter J. Rousseeuw",
               title="Faster k-Medoids Clustering: Improving the PAM, CLARA, and CLARANS Algorithms",
               booktitle="Proc. 12th Int. Conf. Similarity Search and Applications (SISAP\'2019)",
               url="https://doi.org/10.1007/978-3-030-32047-8_16",
               bibkey="DBLP:conf/sisap/SchubertR19")
    @Priority(101)
    public class FastCLARANS<V>
    extends CLARANS<V>
    A faster variation of CLARANS, that can explore O(k) as many swaps at a similar cost by considering all medoids for each candidate non-medoid. Since this means sampling fewer non-medoids, we suggest to increase the subsampling rate slightly to get higher quality than CLARANS, at better runtime.

    Reference:

    Erich Schubert, Peter J. Rousseeuw
    Faster k-Medoids Clustering: Improving the PAM, CLARA, and CLARANS Algorithms
    Proc. 12th Int. Conf. Similarity Search and Applications (SISAP'2019)

    Since:
    0.7.5
    Author:
    Erich Schubert
    • Field Detail

      • LOG

        private static final Logging LOG
        Class logger.
    • Constructor Detail

      • FastCLARANS

        public FastCLARANS​(Distance<? super V> distance,
                           int k,
                           int numlocal,
                           double maxneighbor,
                           RandomFactory random)
        Constructor.
        Parameters:
        distance - Distance function to use
        k - Number of clusters to produce
        numlocal - Number of samples (restarts)
        maxneighbor - Neighbor sampling rate (absolute or relative)
        random - Random generator