14 #ifndef __MLPACK_METHODS_KMEANS_KMEANS_HPP
15 #define __MLPACK_METHODS_KMEANS_KMEANS_HPP
65 typename InitialPartitionPolicy = RandomPartition,
66 typename EmptyClusterPolicy = MaxVarianceNewCluster>
94 const MetricType
metric = MetricType(),
95 const InitialPartitionPolicy
partitioner = InitialPartitionPolicy(),
112 template<
typename MatType>
113 void Cluster(
const MatType& data,
114 const size_t clusters,
115 arma::Col<size_t>& assignments,
116 const bool initialGuess =
false)
const;
144 template<
typename MatType>
145 void Cluster(
const MatType& data,
146 const size_t clusters,
147 arma::Col<size_t>& assignments,
149 const bool initialAssignmentGuess =
false,
150 const bool initialCentroidGuess =
false)
const;
198 #include "kmeans_impl.hpp"
200 #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.