Class BisectingKMeans<V extends NumberVector,​M extends MeanModel>

  • Type Parameters:
    V - Vector type
    M - Model type
    All Implemented Interfaces:
    Algorithm, ClusteringAlgorithm<Clustering<M>>, KMeans<V,​M>

    @Reference(authors="M. Steinbach, G. Karypis, V. Kumar",
               title="A Comparison of Document Clustering Techniques",
               booktitle="KDD workshop on text mining. Vol. 400. No. 1",
               url="http://glaros.dtc.umn.edu/gkhome/fetch/papers/docclusterKDDTMW00.pdf",
               bibkey="conf/kdd/SteinbachKK00")
    public class BisectingKMeans<V extends NumberVector,​M extends MeanModel>
    extends java.lang.Object
    implements KMeans<V,​M>
    The bisecting k-means algorithm works by starting with an initial partitioning into two clusters, then repeated splitting of the largest cluster to get additional clusters.

    Reference:

    M. Steinbach, G. Karypis, V. Kumar
    A Comparison of Document Clustering Techniques
    KDD workshop on text mining. Vol. 400. No. 1

    Since:
    0.6.0
    Author:
    Stephan Baier
    • Field Detail

      • LOG

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

        private int k
        Desired value of k.
    • Constructor Detail

      • BisectingKMeans

        public BisectingKMeans​(int k,
                               KMeans<V,​M> innerkMeans)
        Constructor.
        Parameters:
        k - k parameter - number of result clusters
        innerkMeans - KMeans variant parameter - for bisecting step