kmeans
A C++ library for k-means
|
Base class for initialization algorithms. More...
#include <Initialize.hpp>
Public Member Functions | |
virtual Cluster_ | run (const Matrix_ &data, Cluster_ num_centers, Float_ *centers) const =0 |
Base class for initialization algorithms.
Matrix_ | Matrix type for the input data. This should satisfy the MockMatrix contract. |
Cluster_ | Integer type for the cluster assignments. |
Float_ | Floating-point type for the centroids. |
|
pure virtual |
data | A matrix-like object (see MockMatrix ) containing per-observation data. | |
num_centers | Number of cluster centers. | |
[out] | centers | Pointer to an array of length equal to the product of num_centers and data.num_dimensions() . This contains a column-major matrix where rows correspond to dimensions and columns correspond to cluster centers. On output, each column will contain the final centroid locations for each cluster. |
centers
is filled with the new cluster centers. The number of filled centers is returned - this is usually equal to num_centers
, but may not be if, e.g., num_centers
is greater than the number of observations. If the returned value is less than num_centers
, only the first few centers in centers
will be filled. Implemented in kmeans::InitializeRandom< Matrix_, Cluster_, Float_ >, kmeans::InitializeVariancePartition< Matrix_, Cluster_, Float_ >, kmeans::InitializeNone< Matrix_, Cluster_, Float_ >, and kmeans::InitializeKmeanspp< Matrix_, Cluster_, Float_ >.