13 #ifndef __MLPACK_METHODS_KMEANS_KILL_EMPTY_CLUSTERS_HPP 14 #define __MLPACK_METHODS_KMEANS_KILL_EMPTY_CLUSTERS_HPP 48 template<
typename MetricType,
typename MatType>
51 const size_t emptyCluster,
53 arma::mat& newCentroids,
54 arma::Col<size_t>& clusterCounts,
59 if (emptyCluster < newCentroids.n_cols)
61 newCentroids.shed_col(emptyCluster);
62 clusterCounts.shed_row(emptyCluster);
67 template<
typename Archive>
void serialize(Archive &, const uint32_t)
Serialize the empty cluster policy (nothing to do).
static force_inline void EmptyCluster(const MatType &, const size_t emptyCluster, const arma::mat &, arma::mat &newCentroids, arma::Col< size_t > &clusterCounts, MetricType &, const size_t)
This function sets an empty cluster found during k-means to all DBL_MAX (i.e.
Linear algebra utility functions, generally performed on matrices or vectors.
The core includes that mlpack expects; standard C++ includes and Armadillo.
KillEmptyClusters()
Default constructor required by EmptyClusterPolicy policy.
Policy which allows K-Means to "kill" empty clusters without any error being reported.