![]() |
IPSDK
4_1_0_2
IPSDK : Image Processing Software Development Kit
|
Public Types | |
| typedef KMeansClusteringConfig | AlgorithmConfig |
| algorithm configuration | |
Public Member Functions | |
| void | clear () |
| clear of processing results | |
Constructors and destructor | |
| KMeansClustering () | |
| ~KMeansClustering () | |
| const AlgorithmConfig & | getConfig () const |
| access to algorithm configuration | |
| void | setConfig (const AlgorithmConfig &config) |
| access to algorithm configuration | |
Algorithm computation | |
| bool | isClusteringDone () const |
| check whether a computation has been done | |
| bool | compute (const ipUInt32 nbClusters, const VectorColl &inputDataColl) |
| proceed to data clustering More... | |
Algorithm results | |
| ipUInt32 | getNbClusters () const |
| retrieve number of clusters associated to clustering process More... | |
| ipUInt32 | getDataSize () const |
| retrieve data size associated to input data collection More... | |
| ipUInt32 | getNbInputData () const |
| retrieve number of data in input data collection More... | |
| const VectorColl & | getInputDataColl () const |
| retrieve used input data collection More... | |
| ipUInt32 | getNbFailedAttempts () const |
| retrieve number of failed attempts More... | |
| ipReal64 | getCompactness () const |
| get compactness associated to clustering result More... | |
| ipUInt32 | getNbIteration () const |
| retrieve number of iterations associated to selected clustering solution More... | |
| ipReal64 | computeValidityIndex (const eValidityIndexType &validityIndexType) const |
| compute a validity index associated to clustering result More... | |
| const VectorColl & | getClustersCenters () const |
| retrieve collection of computed clusters centers More... | |
| ipUInt32 | getClusterPopulation (const ipUInt32 clusterIdx) const |
| retrieve number of data associated to a given cluster More... | |
| const Vector & | getClusterCenter (const ipUInt32 clusterIdx) const |
| retrieve center for a given cluster More... | |
| ipReal64 | getClusterStdDev (const ipUInt32 clusterIdx) const |
| retrieve standard deviation for a given cluster More... | |
| const UInt32Vector & | getAssignments () const |
| retrieve cluster index associated to each input data More... | |
| ipUInt32 | computeAssignment (const Vector &data) const |
| function allowing to compute cluster assignment for a given data More... | |
Protected Attributes | |
| AlgorithmConfig | _config |
| configuration associated to clustering algorithm | |
| VectorColl | _inputDataColl |
| input data collection | |
| ipUInt32 | _nbFailedAttempts |
| number of failed attempts | |
| ipUInt32 | _nbIteration |
| number of iterations associated to selected clustering solution | |
| ipReal64 | _compactness |
| compactness associated to processing | |
| VectorColl | _clustersCenters |
| cluster centers associated to processing | |
| UInt32Vector | _assignments |
| cluster index associated to each input data | |
| bool ipsdk::math::clustering::KMeansClustering::compute | ( | const ipUInt32 | nbClusters, |
| const VectorColl & | inputDataColl | ||
| ) |
proceed to data clustering
getNbAttempts() of K-Means++ algorithm will be used to initialize K-Means algorithm.
For a given attempt, if process reach maximum number of iterations (getConfig().getNbMaxIteration()) before that clusters centers stabilization is reached, current attempt is considered as failed
If none of the getNbAttempts() succeed, algorithm is considered on failure
On output clusters are sorted in decreasing population order
| nbClusters | number of searched clusters |
| inputDataColl | collection of observations |
| ipsdk::math::IPSDKMathException | if nbClusters == 0 |
| ipsdk::math::IPSDKMathException | if nbClusters > inputDataColl.size() |
| ipUInt32 ipsdk::math::clustering::KMeansClustering::getNbClusters | ( | ) | const |
retrieve number of clusters associated to clustering process
| ipsdk::math::IPSDKMathException | if isClusteringDone() == false |
| ipUInt32 ipsdk::math::clustering::KMeansClustering::getDataSize | ( | ) | const |
retrieve data size associated to input data collection
| ipsdk::math::IPSDKMathException | if isClusteringDone() == false |
| ipUInt32 ipsdk::math::clustering::KMeansClustering::getNbInputData | ( | ) | const |
retrieve number of data in input data collection
| ipsdk::math::IPSDKMathException | if isClusteringDone() == false |
| const VectorColl& ipsdk::math::clustering::KMeansClustering::getInputDataColl | ( | ) | const |
retrieve used input data collection
| ipsdk::math::IPSDKMathException | if isClusteringDone() == false |
| ipUInt32 ipsdk::math::clustering::KMeansClustering::getNbFailedAttempts | ( | ) | const |
retrieve number of failed attempts
| ipsdk::math::IPSDKMathException | if isClusteringDone() == false |
| ipReal64 ipsdk::math::clustering::KMeansClustering::getCompactness | ( | ) | const |
get compactness associated to clustering result
compactness is the sum of squares of distances between input data and center of their associated cluster
| ipsdk::math::IPSDKMathException | if isClusteringDone() == false |
| ipUInt32 ipsdk::math::clustering::KMeansClustering::getNbIteration | ( | ) | const |
retrieve number of iterations associated to selected clustering solution
| ipsdk::math::IPSDKMathException | if isClusteringDone() == false |
| ipReal64 ipsdk::math::clustering::KMeansClustering::computeValidityIndex | ( | const eValidityIndexType & | validityIndexType | ) | const |
compute a validity index associated to clustering result
| ipsdk::math::IPSDKMathException | if isClusteringDone() == false |
| const VectorColl& ipsdk::math::clustering::KMeansClustering::getClustersCenters | ( | ) | const |
retrieve collection of computed clusters centers
| ipsdk::math::IPSDKMathException | if isClusteringDone() == false |
| ipUInt32 ipsdk::math::clustering::KMeansClustering::getClusterPopulation | ( | const ipUInt32 | clusterIdx | ) | const |
retrieve number of data associated to a given cluster
| ipsdk::math::IPSDKMathException | if clusterIdx >= getNbClusters() |
| const Vector& ipsdk::math::clustering::KMeansClustering::getClusterCenter | ( | const ipUInt32 | clusterIdx | ) | const |
retrieve center for a given cluster
| ipsdk::math::IPSDKMathException | if clusterIdx >= getNbClusters() |
| ipReal64 ipsdk::math::clustering::KMeansClustering::getClusterStdDev | ( | const ipUInt32 | clusterIdx | ) | const |
retrieve standard deviation for a given cluster
| ipsdk::math::IPSDKMathException | if clusterIdx >= getNbClusters() |
| const UInt32Vector& ipsdk::math::clustering::KMeansClustering::getAssignments | ( | ) | const |
retrieve cluster index associated to each input data
| ipsdk::math::IPSDKMathException | if isClusteringDone() == false |
function allowing to compute cluster assignment for a given data
| ipsdk::math::IPSDKMathException | if isClusteringDone() == false |
1.8.14