Class BetulaLeafPreClustering

  • All Implemented Interfaces:
    elki.Algorithm, ClusteringAlgorithm<Clustering<MeanModel>>

    @Priority(-100)
    @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 BetulaLeafPreClustering
    extends java.lang.Object
    implements ClusteringAlgorithm<Clustering<MeanModel>>
    BETULA-based clustering algorithm that simply treats the leafs of the CFTree as clusters. As this usually are smaller parts than actual clusters, we call this a preclustering, as it is primarily useful as a data simplification prior to, e.g., clustering. For actual clustering methods based on the leaves, please use BetulaGMM and BetulaLloydKMeans.

    References:

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

    Since:
    0.8.0
    Author:
    Erich Schubert
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  BetulaLeafPreClustering.Par
      Parameterization class.
      • Nested classes/interfaces inherited from interface elki.Algorithm

        elki.Algorithm.Utils
    • Field Summary

      Fields 
      Modifier and Type Field Description
      (package private) CFTree.Factory<?> cffactory
      CFTree factory.
      private static elki.logging.Logging LOG
      Class logger.
      (package private) boolean storeIds
      Store ids
    • Field Detail

      • LOG

        private static final elki.logging.Logging LOG
        Class logger.
      • storeIds

        boolean storeIds
        Store ids
    • Constructor Detail

      • BetulaLeafPreClustering

        public BetulaLeafPreClustering​(CFTree.Factory<?> cffactory,
                                       boolean storeIds)
        Constructor.
        Parameters:
        cffactory - CFTree Factory
    • Method Detail

      • getInputTypeRestriction

        public elki.data.type.TypeInformation[] getInputTypeRestriction()
        Specified by:
        getInputTypeRestriction in interface elki.Algorithm
      • run

        public Clustering<MeanModel> run​(elki.database.relation.Relation<elki.data.NumberVector> relation)
        Run the clustering algorithm.
        Parameters:
        relation - Input data
        Returns:
        Clustering