mlpack
master
|
This is an implementation of a single iteration of Lloyd's algorithm for k-means. More...
Public Member Functions | |
NaiveKMeans (const MatType &dataset, MetricType &metric) | |
Construct the NaiveKMeans object with the given dataset and metric. More... | |
size_t | DistanceCalculations () const |
double | Iterate (const arma::mat ¢roids, arma::mat &newCentroids, arma::Col< size_t > &counts) |
Run a single iteration of the Lloyd algorithm, updating the given centroids into the newCentroids matrix. More... | |
Private Attributes | |
const MatType & | dataset |
The dataset. More... | |
size_t | distanceCalculations |
Number of distance calculations. More... | |
MetricType & | metric |
The instantiated metric. More... | |
This is an implementation of a single iteration of Lloyd's algorithm for k-means.
If your intention is to run the full k-means algorithm, you are looking for the mlpack::kmeans::KMeans class instead of this one. This class is used by KMeans as the actual implementation of the Lloyd iteration.
MetricType | Type of metric used with this implementation. |
MatType | Matrix type (arma::mat or arma::sp_mat). |
Definition at line 30 of file naive_kmeans.hpp.
mlpack::kmeans::NaiveKMeans< MetricType, MatType >::NaiveKMeans | ( | const MatType & | dataset, |
MetricType & | metric | ||
) |
Construct the NaiveKMeans object with the given dataset and metric.
dataset | Dataset. |
metric | Instantiated metric. |
|
inline |
Definition at line 55 of file naive_kmeans.hpp.
References mlpack::kmeans::NaiveKMeans< MetricType, MatType >::distanceCalculations.
double mlpack::kmeans::NaiveKMeans< MetricType, MatType >::Iterate | ( | const arma::mat & | centroids, |
arma::mat & | newCentroids, | ||
arma::Col< size_t > & | counts | ||
) |
Run a single iteration of the Lloyd algorithm, updating the given centroids into the newCentroids matrix.
If any cluster is empty (that is, if any cluster has no points assigned to it), then the centroid associated with that cluster may be filled with invalid data (it will be corrected later).
centroids | Current cluster centroids. |
newCentroids | New cluster centroids. |
counts | Number of points in each cluster at the end of the iteration. |
|
private |
The dataset.
Definition at line 59 of file naive_kmeans.hpp.
|
private |
Number of distance calculations.
Definition at line 64 of file naive_kmeans.hpp.
Referenced by mlpack::kmeans::NaiveKMeans< MetricType, MatType >::DistanceCalculations().
|
private |
The instantiated metric.
Definition at line 61 of file naive_kmeans.hpp.