kmeans
k-means clustering in C++
Loading...
Searching...
No Matches
InitializeNone.hpp
Go to the documentation of this file.
1#ifndef KMEANS_INITIALIZE_NONE_HPP
2#define KMEANS_INITIALIZE_NONE_HPP
3
4#include "Initialize.hpp"
5#include <algorithm>
6
13namespace kmeans {
14
29template<typename Index_, typename Data_, typename Cluster_, typename Float_, class Matrix_ = Matrix<Index_, Data_> >
30class InitializeNone final : public Initialize<Index_, Data_, Cluster_, Float_, Matrix_> {
31public:
35 Cluster_ run(const Matrix_& matrix, const Cluster_ ncenters, Float_* const) const {
36 return std::min(matrix.num_observations(), static_cast<Index_>(ncenters));
37 }
41};
42
43}
44
45#endif
Interface for k-means initialization.
No-op "initialization" with existing cluster centers.
Definition InitializeNone.hpp:30
Interface for k-means initialization algorithms.
Definition Initialize.hpp:29
virtual Cluster_ run(const Matrix_ &data, Cluster_ num_centers, Float_ *centers) const =0
Perform k-means clustering.
Definition compute_wcss.hpp:16