Class LloydKMeans<V extends NumberVector>

  • Type Parameters:
    V - vector datatype
    All Implemented Interfaces:
    Algorithm, ClusteringAlgorithm<Clustering<KMeansModel>>, KMeans<V,​KMeansModel>

    @Title("k-Means (Lloyd/Forgy Algorithm)")
    @Reference(authors="S. Lloyd",title="Least squares quantization in PCM",booktitle="IEEE Transactions on Information Theory 28 (2): 129\u2013137.",url="https://doi.org/10.1109/TIT.1982.1056489",bibkey="DBLP:journals/tit/Lloyd82") @Reference(authors="E. W. Forgy",title="Cluster analysis of multivariate data: efficiency versus interpretability of classifications",booktitle="Biometrics 21(3)",bibkey="journals/biometrics/Forgy65")
    @Alias({"lloyd","forgy"})
    public class LloydKMeans<V extends NumberVector>
    extends AbstractKMeans<V,​KMeansModel>
    The standard k-means algorithm, using bulk iterations and commonly attributed to Lloyd and Forgy (independently).

    Reference:

    S. Lloyd
    Least squares quantization in PCM
    IEEE Transactions on Information Theory 28 (2)
    previously published as Bell Telephone Laboratories Paper

    E. W. Forgy
    Cluster analysis of multivariate data: efficiency versus interpretability of classifications
    Abstract published in Biometrics 21(3)

    Since:
    0.5.0
    Author:
    Arthur Zimek
    • Field Detail

      • LOG

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

      • LloydKMeans

        public LloydKMeans​(NumberVectorDistance<? super V> distance,
                           int k,
                           int maxiter,
                           KMeansInitialization initializer)
        Constructor.
        Parameters:
        distance - distance function
        k - k parameter
        maxiter - Maxiter parameter
        initializer - Initialization method