![]() |
IPSDK
4_1_0_2
IPSDK : Image Processing Software Development Kit
|
Public Types | |
| typedef KernelKMeansClusteringConfig | AlgorithmConfig |
| algorithm configuration | |
| typedef KernelKMeansCentroid< KernelType > | CentroidType |
| centroid type associated to object | |
| typedef std::vector< CentroidType > | CentroidsColl |
| collection of centroids | |
Public Member Functions | |
| const KernelType & | getKernel () const |
| retrieve kernel associated to object | |
| void | clear () |
| clear of processing results | |
Constructors and destructor | |
| KernelKMeansClustering (const KernelType &kernel) | |
| ~KernelKMeansClustering () | |
| 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 | getSeparation () const |
| get separation associated to clustering result More... | |
| ipUInt32 | getNbIteration () const |
| retrieve number of iterations associated to selected clustering solution More... | |
| ipUInt32 | getClusterPopulation (const ipUInt32 clusterIdx) const |
| retrieve number of data associated to a given cluster More... | |
| const CentroidsColl & | getClustersCentroids () const |
| retrieve centroids associated to clustering operation More... | |
| const CentroidType & | getCentroid (const ipUInt32 clusterIdx) const |
| retrieve centroid associated to 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 | |
| KernelType | _kernel |
| kernel associated to clustering operation | |
| 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 | _separation |
| separation associated to processing | |
| CentroidsColl | _clustersCentroids |
| cluster centroids associated to processing | |
| UInt32Vector | _assignments |
| cluster index associated to each input data | |
| bool ipsdk::math::clustering::KernelKMeansClustering< KernelType >::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::KernelKMeansClustering< KernelType >::getNbClusters | ( | ) | const |
retrieve number of clusters associated to clustering process
| ipsdk::math::IPSDKMathException | if isClusteringDone() == false |
| ipUInt32 ipsdk::math::clustering::KernelKMeansClustering< KernelType >::getDataSize | ( | ) | const |
retrieve data size associated to input data collection
| ipsdk::math::IPSDKMathException | if isClusteringDone() == false |
| ipUInt32 ipsdk::math::clustering::KernelKMeansClustering< KernelType >::getNbInputData | ( | ) | const |
retrieve number of data in input data collection
| ipsdk::math::IPSDKMathException | if isClusteringDone() == false |
| const VectorColl& ipsdk::math::clustering::KernelKMeansClustering< KernelType >::getInputDataColl | ( | ) | const |
retrieve used input data collection
| ipsdk::math::IPSDKMathException | if isClusteringDone() == false |
| ipUInt32 ipsdk::math::clustering::KernelKMeansClustering< KernelType >::getNbFailedAttempts | ( | ) | const |
retrieve number of failed attempts
| ipsdk::math::IPSDKMathException | if isClusteringDone() == false |
| ipReal64 ipsdk::math::clustering::KernelKMeansClustering< KernelType >::getSeparation | ( | ) | const |
get separation associated to clustering result
separation is defined as the Dunn validity index
| ipsdk::math::IPSDKMathException | if isClusteringDone() == false |
| ipUInt32 ipsdk::math::clustering::KernelKMeansClustering< KernelType >::getNbIteration | ( | ) | const |
retrieve number of iterations associated to selected clustering solution
| ipsdk::math::IPSDKMathException | if isClusteringDone() == false |
| ipUInt32 ipsdk::math::clustering::KernelKMeansClustering< KernelType >::getClusterPopulation | ( | const ipUInt32 | clusterIdx | ) | const |
retrieve number of data associated to a given cluster
| ipsdk::math::IPSDKMathException | if clusterIdx >= getNbClusters() |
| const CentroidsColl& ipsdk::math::clustering::KernelKMeansClustering< KernelType >::getClustersCentroids | ( | ) | const |
retrieve centroids associated to clustering operation
| ipsdk::math::IPSDKMathException | if isClusteringDone() == false |
| const CentroidType& ipsdk::math::clustering::KernelKMeansClustering< KernelType >::getCentroid | ( | const ipUInt32 | clusterIdx | ) | const |
retrieve centroid associated to a given cluster
| ipsdk::math::IPSDKMathException | if clusterIdx >= getNbClusters() |
| const UInt32Vector& ipsdk::math::clustering::KernelKMeansClustering< KernelType >::getAssignments | ( | ) | const |
retrieve cluster index associated to each input data
| ipsdk::math::IPSDKMathException | if isClusteringDone() == false |
| ipUInt32 ipsdk::math::clustering::KernelKMeansClustering< KernelType >::computeAssignment | ( | const Vector & | data | ) | const |
function allowing to compute cluster assignment for a given data
| ipsdk::math::IPSDKMathException | if isClusteringDone() == false |
1.8.14