Class AFKMC2

  • All Implemented Interfaces:
    KMeansInitialization
    Direct Known Subclasses:
    SphericalAFKMC2

    @Title("AFK-MC\u00b2")
    @Reference(authors="O. Bachem, M. Lucic, S. H. Hassani, A. Krause",
               title="Fast and Provably Good Seedings for k-Means",
               booktitle="Neural Information Processing Systems 2016",
               url="https://proceedings.neurips.cc/paper/2016/hash/d67d8ab4f4c10bf22aa353e27879133c-Abstract.html",
               bibkey="DBLP:conf/nips/BachemLH016")
    public class AFKMC2
    extends KMC2
    AFK-MC² initialization

    Reference:


    O. Bachem, M. Lucic, S. H. Hassani, A. Krause
    Fast and Provably Good Seedings for k-Means
    Neural Information Processing Systems 2016

    Since:
    0.8.0
    Author:
    Erich Schubert
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      protected static class  AFKMC2.Instance
      Abstract instance implementing the weight handling.
      static class  AFKMC2.Par
      Parameterization class.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private static elki.logging.Logging LOG
      Class logger.
      • Fields inherited from class elki.clustering.kmeans.initialization.KMC2

        m
    • Constructor Summary

      Constructors 
      Constructor Description
      AFKMC2​(int m, elki.utilities.random.RandomFactory rnd)
      Constructor.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      double[][] chooseInitialMeans​(elki.database.relation.Relation<? extends elki.data.NumberVector> relation, int k, elki.distance.NumberVectorDistance<?> distance)
      Choose initial means
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • LOG

        private static final elki.logging.Logging LOG
        Class logger.
    • Constructor Detail

      • AFKMC2

        public AFKMC2​(int m,
                      elki.utilities.random.RandomFactory rnd)
        Constructor.
        Parameters:
        m - M parameter
        rnd - Random generator.
    • Method Detail

      • chooseInitialMeans

        public double[][] chooseInitialMeans​(elki.database.relation.Relation<? extends elki.data.NumberVector> relation,
                                             int k,
                                             elki.distance.NumberVectorDistance<?> distance)
        Description copied from interface: KMeansInitialization
        Choose initial means
        Specified by:
        chooseInitialMeans in interface KMeansInitialization
        Overrides:
        chooseInitialMeans in class KMC2
        Parameters:
        relation - Relation
        k - Parameter k
        distance - Distance function
        Returns:
        List of chosen means for k-means