Class CoresetKMeans


  • public class CoresetKMeans
    extends Object
    Provides methods to execute the k-means and k-means++ algorithm with a clustering. Citation: David Arthur, Sergei Vassilvitskii: k-means++: the advantages of careful seeding. SODA 2007: 1027-1035
    • Constructor Detail

      • CoresetKMeans

        public CoresetKMeans()
    • Method Detail

      • generatekMeansPlusPlusCentroids

        public static List<double[]> generatekMeansPlusPlusCentroids​(int k,
                                                                     List<double[]> input,
                                                                     Random random)
        Generates the initial centroids like the k-means++ algorithm.
        Parameters:
        k - number of centroids
        input - input clustering
        random - instance to generate a stream of pseudorandom numbers
        Returns:
        the generated centroids
      • kMeans

        public static double kMeans​(List<double[]> centroids,
                                    List<double[]> input)
        Executes the k-means algorithm with the given initial centroids until the costs converges.
        Parameters:
        centroids - initial centroids
        input - input clustering
        Returns:
        the k-means costs