22 #ifndef __MLPACK_METHODS_KMEANS_KMEANS_HPP 23 #define __MLPACK_METHODS_KMEANS_KMEANS_HPP 73 typename InitialPartitionPolicy = RandomPartition,
74 typename EmptyClusterPolicy = MaxVarianceNewCluster>
102 const MetricType
metric = MetricType(),
103 const InitialPartitionPolicy
partitioner = InitialPartitionPolicy(),
120 template<
typename MatType>
121 void Cluster(
const MatType& data,
122 const size_t clusters,
123 arma::Col<size_t>& assignments,
124 const bool initialGuess =
false)
const;
152 template<
typename MatType>
153 void Cluster(
const MatType& data,
154 const size_t clusters,
155 arma::Col<size_t>& assignments,
157 const bool initialAssignmentGuess =
false,
158 const bool initialCentroidGuess =
false)
const;
206 #include "kmeans_impl.hpp" 208 #endif // __MLPACK_METHODS_MOG_KMEANS_HPP
Linear algebra utility functions, generally performed on matrices or vectors.
InitialPartitionPolicy partitioner
Instantiated initial partitioning policy.
double & OverclusteringFactor()
Set the overclustering factor. Must be greater than 1.
double OverclusteringFactor() const
Return the overclustering factor.
LMetric< 2, false > SquaredEuclideanDistance
const InitialPartitionPolicy & Partitioner() const
Get the initial partitioning policy.
size_t maxIterations
Maximum number of iterations before giving up.
const EmptyClusterPolicy & EmptyClusterAction() const
Get the empty cluster policy.
void Cluster(const MatType &data, const size_t clusters, arma::Col< size_t > &assignments, const bool initialGuess=false) const
Perform k-means clustering on the data, returning a list of cluster assignments.
EmptyClusterPolicy emptyClusterAction
Instantiated empty cluster policy.
KMeans(const size_t maxIterations=1000, const double overclusteringFactor=1.0, const MetricType metric=MetricType(), const InitialPartitionPolicy partitioner=InitialPartitionPolicy(), const EmptyClusterPolicy emptyClusterAction=EmptyClusterPolicy())
Create a K-Means object and (optionally) set the parameters which K-Means will be run with...
std::string ToString() const
EmptyClusterPolicy & EmptyClusterAction()
Modify the empty cluster policy.
MetricType & Metric()
Modify the distance metric.
size_t MaxIterations() const
Get the maximum number of iterations.
size_t & MaxIterations()
Set the maximum number of iterations.
MetricType metric
Instantiated distance metric.
const MetricType & Metric() const
Get the distance metric.
InitialPartitionPolicy & Partitioner()
Modify the initial partitioning policy.
This class implements K-Means clustering.
double overclusteringFactor
Factor controlling how many clusters are actually found.