9 #ifndef PND_MVA_CLUSTER_H 10 #define PND_MVA_CLUSTER_H 21 #define PNDMVA_CLUSTER_DEBUG 0 24 typedef std::vector<std::pair<std::string, std::vector<float> *>>
DataPoints;
99 inline void Setprune(
bool const prune =
false);
110 #if (PNDMVA_CLUSTER_DEBUG > 0) 129 void InitCentroids();
132 void InitialPartition();
135 void ComputeCentroids();
138 void ResetCenteroids();
141 void ClearStructures();
144 void ReInitEmptyCenter(
size_t centerIdx);
147 size_t m_num_Cluster;
155 std::vector<size_t> m_PointsToClusters;
158 std::vector<std::set<size_t> *> m_ClustersToPoints;
168 return m_num_Cluster;
187 m_forceToLabel = label;
189 #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