14 #ifndef MLPACK_METHODS_KMEANS_REFINED_START_HPP
15 #define MLPACK_METHODS_KMEANS_REFINED_START_HPP
46 const double percentage = 0.02) :
47 samplings(samplings), percentage(percentage) { }
59 template<
typename MatType>
60 void Cluster(
const MatType& data,
61 const size_t clusters,
62 arma::mat& centroids)
const;
75 template<
typename MatType>
76 void Cluster(
const MatType& data,
77 const size_t clusters,
78 arma::Row<size_t>& assignments)
const;
91 template<
typename Archive>
109 #include "refined_start_impl.hpp"
void Cluster(const MatType &data, const size_t clusters, arma::mat ¢roids) const
Partition the given dataset into the given number of clusters according to the random sampling scheme...
size_t Samplings() const
Get the number of samplings that will be performed.
FirstShim< T > CreateNVP(T &t, const std::string &name, typename boost::enable_if< HasSerialize< T >>::type *=0)
Call this function to produce a name-value pair; this is similar to BOOST_SERIALIZATION_NVP(), but should be used for types that have a Serialize() function (or contain a type that has a Serialize() function) instead of a serialize() function.
RefinedStart(const size_t samplings=100, const double percentage=0.02)
Create the RefinedStart object, optionally specifying parameters for the number of samplings to perfo...
The core includes that mlpack expects; standard C++ includes and Armadillo.
double & Percentage()
Modify the percentage of the data used by each subsampling.
double Percentage() const
Get the percentage of the data used by each subsampling.
void Serialize(Archive &ar, const unsigned int)
Serialize the object.
size_t & Samplings()
Modify the number of samplings that will be performed.
A refined approach for choosing initial points for k-means clustering.