An algorithm for an exact Lloyd iteration which simply uses dualtree nearestneighbor search to find the nearest centroid for each point in the dataset. More...
Public Types  
template < typename TreeMetricType , typename IgnoredStatType , typename TreeMatType >  
using  NNSTreeType = TreeType< TreeMetricType, DualTreeKMeansStatistic, TreeMatType > 
typedef TreeType< MetricType, DualTreeKMeansStatistic, MatType >  Tree 
Convenience typedef. More...  
Public Member Functions  
DualTreeKMeans (const MatType &dataset, MetricType &metric)  
Construct the DualTreeKMeans object, which will construct a tree on the points. More...  
~DualTreeKMeans ()  
Delete the tree constructed by the DualTreeKMeans object. More...  
size_t  DistanceCalculations () const 
Return the number of distance calculations. More...  
size_t &  DistanceCalculations () 
Modify the number of distance calculations. More...  
double  Iterate (const arma::mat ¢roids, arma::mat &newCentroids, arma::Col< size_t > &counts) 
Run a single iteration of the dualtree nearest neighbor algorithm for kmeans, updating the given centroids into the newCentroids matrix. More...  
An algorithm for an exact Lloyd iteration which simply uses dualtree nearestneighbor search to find the nearest centroid for each point in the dataset.
The conditions under which this will perform best are probably limited to the case where k is close to the number of points in the dataset, and the number of iterations of the kmeans algorithm will be few.
Definition at line 41 of file dual_tree_kmeans.hpp.
using NNSTreeType = TreeType<TreeMetricType, DualTreeKMeansStatistic, TreeMatType> 
Definition at line 51 of file dual_tree_kmeans.hpp.
typedef TreeType<MetricType, DualTreeKMeansStatistic, MatType> Tree 
Convenience typedef.
Definition at line 45 of file dual_tree_kmeans.hpp.
DualTreeKMeans  (  const MatType &  dataset, 
MetricType &  metric  
) 
Construct the DualTreeKMeans object, which will construct a tree on the points.
~DualTreeKMeans  (  ) 
Delete the tree constructed by the DualTreeKMeans object.

inline 
Return the number of distance calculations.
Definition at line 77 of file dual_tree_kmeans.hpp.

inline 
Modify the number of distance calculations.
Definition at line 79 of file dual_tree_kmeans.hpp.
References mlpack::kmeans::HideChild(), and mlpack::kmeans::RestoreChildren().
double Iterate  (  const arma::mat &  centroids, 
arma::mat &  newCentroids,  
arma::Col< size_t > &  counts  
) 
Run a single iteration of the dualtree nearest neighbor algorithm for kmeans, updating the given centroids into the newCentroids matrix.
centroids  Current cluster centroids. 
newCentroids  New cluster centroids. 
counts  Current counts, to be overwritten with new counts. 