Class KDTreePruningKMeans<V extends NumberVector>

  • Type Parameters:
    V - vector datatype
    All Implemented Interfaces:
    Algorithm, ClusteringAlgorithm<Clustering<KMeansModel>>, KMeans<V,​KMeansModel>
    Direct Known Subclasses:
    KDTreeFilteringKMeans

    @Title("K-d-tree K-means with Pruning")
    @Reference(authors="K. Alsabti, S. Ranka, V. Singh",title="An efficient k-means clustering algorithm",booktitle="Electrical Engineering and Computer Science, Technical Report 43",url="https://surface.syr.edu/eecs/43/",bibkey="tr/syracuse/AlsabtiRS97") @Reference(authors="K. Alsabti, S. Ranka, V. Singh",title="An Efficient Space-Partitioning Based Algorithm for the K-Means Clustering",booktitle="Pacific-Asia Conference on Knowledge Discovery and Data Mining",url="https://doi.org/10.1007/3-540-48912-6_47",bibkey="DBLP:conf/pakdd/AlsabtiRS99")
    public class KDTreePruningKMeans<V extends NumberVector>
    extends AbstractKMeans<V,​KMeansModel>
    Pruning K-means with k-d-tree acceleration.

    This is an implementation of the earlier (1997) version of the k-d-tree based k-means, which uses minimum and maximum distances, rather than pruning with a hyperplane.

    References:

    K. Alsabti, S. Ranka, V. Singh
    An efficient k-means clustering algorithm
    Electrical Engineering and Computer Science, Technical Report 43

    K. Alsabti, S. Ranka, V. Singh
    An Efficient Space-Partitioning Based Algorithm for the K-Means Clustering
    Pacific-Asia Conference on Knowledge Discovery and Data Mining

    Since:
    0.8.0
    Author:
    Cedrik Lüdicke (initial version), Erich Schubert (optimizations, rewrite)
    • Field Detail

      • LOG

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

        protected int leafsize
        Desired leaf size.
    • Constructor Detail

      • KDTreePruningKMeans

        public KDTreePruningKMeans​(NumberVectorDistance<? super V> distance,
                                   int k,
                                   int maxiter,
                                   KMeansInitialization initializer,
                                   KDTreePruningKMeans.Split split,
                                   int leafsize)
        Constructor.
        Parameters:
        distance - distance function
        k - k parameter
        maxiter - Maxiter parameter
        initializer - Initialization method
        split - Splitting strategy
        leafsize - Leaf size