Class CFKPlusPlusTrunk


  • @Alias("trunk")
    @Reference(authors="Andreas Lang and Erich Schubert",
               title="BETULA: Fast Clustering of Large Data with Improved BIRCH CF-Trees",
               booktitle="Information Systems",
               url="https://doi.org/10.1016/j.is.2021.101918",
               bibkey="DBLP:journals/is/LangS22")
    public class CFKPlusPlusTrunk
    extends CFKPlusPlusLeaves
    Trunk strategy for initializing k-means with BETULA: only the nodes up to a particular level are considered for k-means++ style initialization.

    References:

    Andreas Lang and Erich Schubert
    BETULA: Fast Clustering of Large Data with Improved BIRCH CF-Trees
    Information Systems

    Since:
    0.8.0
    Author:
    Andreas Lang
    • Constructor Detail

      • CFKPlusPlusTrunk

        public CFKPlusPlusTrunk​(CFInitWeight dist,
                                boolean firstUniform,
                                RandomFactory rf)
        Constructor.
        Parameters:
        dist - distance function
        firstUniform - choose the first center uniformly from leaves
        rf - random generator
    • Method Detail

      • chooseInitialMeans

        public double[][] chooseInitialMeans​(CFTree<?> tree,
                                             java.util.List<? extends ClusterFeature> cfs,
                                             int k)
        Description copied from class: AbstractCFKMeansInitialization
        Build the initial models.
        Overrides:
        chooseInitialMeans in class CFKPlusPlusLeaves
        Parameters:
        tree - CF tree
        cfs - Cluster features of the tree (may be ignored for tree-based initializations, should be an array list for efficiency)
        k - Number of clusters.
        Returns:
        initial cluster means