21 #ifndef PND_MVA_CLUSTER_H 22 #define PND_MVA_CLUSTER_H 33 #define PNDMVA_CLUSTER_DEBUG 0 36 typedef std::vector<std::pair<std::string, std::vector<float> *>>
DataPoints;
111 inline void Setprune(
bool const prune =
false);
122 #if (PNDMVA_CLUSTER_DEBUG > 0) 141 void InitCentroids();
144 void InitialPartition();
147 void ComputeCentroids();
150 void ResetCenteroids();
153 void ClearStructures();
156 void ReInitEmptyCenter(
size_t centerIdx);
159 size_t m_num_Cluster;
167 std::vector<size_t> m_PointsToClusters;
170 std::vector<std::set<size_t> *> m_ClustersToPoints;
180 return m_num_Cluster;
199 m_forceToLabel = label;
201 #endif // End interface void SetForceToLabel(bool const forceLabel=false)
PndMvaCluster(DataPoints const &InputData, size_t nCluster)
size_t GetClusterDimension() const
virtual DataPoints * Cluster(ClusteringType const ClType=KMEANS_HARD)
std::vector< std::pair< std::string, std::vector< float > * > > DataPoints
Data structure of the space points and the cluster centers.
virtual DataPoints * ClusterAndLabel(ClusteringType const ClType, std::vector< std::string > const &labels)
void SetNumberOfClusters(size_t val)
ClusteringType
Clustering types.
void Setprune(bool const prune=false)
size_t GetNumberOfClusters() const