Class HamerlyKMeans<V extends elki.data.NumberVector>

  • Type Parameters:
    V - vector datatype
    All Implemented Interfaces:
    elki.Algorithm, ClusteringAlgorithm<Clustering<KMeansModel>>, KMeans<V,​KMeansModel>
    Direct Known Subclasses:
    AnnulusKMeans, ExponionKMeans

    @Reference(authors="G. Hamerly",
               title="Making k-means even faster",
               booktitle="Proc. 2010 SIAM International Conference on Data Mining",
               url="https://doi.org/10.1137/1.9781611972801.12",
               bibkey="DBLP:conf/sdm/Hamerly10")
    public class HamerlyKMeans<V extends elki.data.NumberVector>
    extends AbstractKMeans<V,​KMeansModel>
    Hamerly's fast k-means by exploiting the triangle inequality.

    Reference:

    G. Hamerly
    Making k-means even faster
    Proc. 2010 SIAM International Conference on Data Mining

    Since:
    0.7.0
    Author:
    Erich Schubert
    • Field Detail

      • LOG

        private static final elki.logging.Logging LOG
        The logger for this class.
      • varstat

        protected boolean varstat
        Flag whether to compute the final variance statistic.
    • Constructor Detail

      • HamerlyKMeans

        public HamerlyKMeans​(elki.distance.NumberVectorDistance<? super V> distance,
                             int k,
                             int maxiter,
                             KMeansInitialization initializer,
                             boolean varstat)
        Constructor.
        Parameters:
        distance - distance function
        k - k parameter
        maxiter - Maxiter parameter
        initializer - Initialization method
        varstat - Compute the variance statistic
    • Method Detail

      • run

        public Clustering<KMeansModel> run​(elki.database.relation.Relation<V> relation)
        Description copied from interface: KMeans
        Run the clustering algorithm.
        Parameters:
        relation - Relation to process.
        Returns:
        Clustering result
      • getLogger

        protected elki.logging.Logging getLogger()
        Description copied from class: AbstractKMeans
        Get the (STATIC) logger for this class.
        Specified by:
        getLogger in class AbstractKMeans<V extends elki.data.NumberVector,​KMeansModel>
        Returns:
        the static logger