13 #ifndef MLPACK_METHODS_KMEANS_PELLEG_MOORE_KMEANS_HPP 14 #define MLPACK_METHODS_KMEANS_PELLEG_MOORE_KMEANS_HPP 41 template<
typename MetricType,
typename MatType>
63 double Iterate(
const arma::mat& centroids,
64 arma::mat& newCentroids,
65 arma::Col<size_t>& counts);
78 const MatType& datasetOrig;
82 const MatType& dataset;
87 size_t distanceCalculations;
93 #include "pelleg_moore_kmeans_impl.hpp" PellegMooreKMeans(const MatType &dataset, MetricType &metric)
Construct the PellegMooreKMeans object, which must construct a tree.
Linear algebra utility functions, generally performed on matrices or vectors.
A binary space partitioning tree, such as a KD-tree or a ball tree.
An implementation of Pelleg-Moore's 'blacklist' algorithm for k-means clustering. ...
size_t & DistanceCalculations()
Modify the number of distance calculations.
tree::KDTree< MetricType, PellegMooreKMeansStatistic, MatType > TreeType
Convenience typedef for the tree.
size_t DistanceCalculations() const
Return the number of distance calculations.
~PellegMooreKMeans()
Delete the tree constructed by the PellegMooreKMeans object.
double Iterate(const arma::mat ¢roids, arma::mat &newCentroids, arma::Col< size_t > &counts)
Run a single iteration of the Pelleg-Moore blacklist algorithm, updating the given centroids into the...