Class SortMeans<V extends elki.data.NumberVector>

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

    @Title("Sort-Means")
    @Reference(authors="S. J. Phillips",
               title="Acceleration of k-means and related clustering algorithms",
               booktitle="Proc. 4th Int. Workshop on Algorithm Engineering and Experiments (ALENEX 2002)",
               url="https://doi.org/10.1007/3-540-45643-0_13",
               bibkey="DBLP:conf/alenex/Phillips02")
    public class SortMeans<V extends elki.data.NumberVector>
    extends CompareMeans<V>
    Sort-Means: Accelerated k-means by exploiting the triangle inequality and pairwise distances of means to prune candidate means (with sorting).

    Reference:

    S. J. Phillips
    Acceleration of k-means and related clustering algorithms
    Proc. 4th Int. W. on Algorithm Engineering and Experiments (ALENEX 2002)

    Since:
    0.7.1
    Author:
    Erich Schubert
    • Field Detail

      • LOG

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

      • SortMeans

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

      • run

        public Clustering<KMeansModel> run​(elki.database.relation.Relation<V> relation)
        Description copied from interface: KMeans
        Run the clustering algorithm.
        Specified by:
        run in interface KMeans<V extends elki.data.NumberVector,​KMeansModel>
        Overrides:
        run in class CompareMeans<V extends elki.data.NumberVector>
        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.
        Overrides:
        getLogger in class CompareMeans<V extends elki.data.NumberVector>
        Returns:
        the static logger