15 #ifndef __IPSDKMATH_CLUSTERINGUTILS_H__ 16 #define __IPSDKMATH_CLUSTERINGUTILS_H__ 24 namespace clustering {
26 template <
typename KernelType>
43 template <
typename KernelType>
77 template <
typename KernelType>
103 template <
typename KernelType>
111 template <
typename KernelType>
151 const Vector& clusterCenter);
167 template <
typename KernelType>
173 template <
typename KernelType>
185 #endif // __IPSDKMATH_CLUSTERINGUTILS_H__ IPSDKMATH_API Vector computeClusterCenter(const ipUInt32 clusterIdx, const VectorColl &inputDataColl, const UInt32Vector &indexColl)
function allowing to compute center associated to a given cluster
Definition of import/export macro for library.
Main namespace for IPSDK library.
Definition: AlgorithmFunctionEfficiency.h:22
IPSDKMATH_API ipUInt32 computeKernelAssignment(const std::vector< KernelKMeansCentroid< KernelType > > &clustersCentroids, const Vector &data)
function allowing to compute cluster assignment using an kernel distance to clusters centroids ...
IPSDKMATH_API ipUInt32 computeClusterPopulation(const ipUInt32 clusterIdx, const UInt32Vector &indexColl)
function allowing to compute population associated to a given cluster
std::vector< ipUInt32 > UInt32Vector
stl vector collections
Definition: BaseCollections.h:33
IPSDKMATH_API ipReal64 computeKernelCompactness(const std::vector< KernelKMeansCentroid< KernelType > > &clustersCentroids, const VectorColl &dataColl, const UInt32Vector &indexColl)
function allowing to compute compactness associated to a Kernel clustering result ...
eValidityIndexType
Enumerate describing a clustering validity indice type.
Definition: ClusteringTypes.h:48
Definition: ClusteringUtils.h:27
IPSDKMATH_API void generateKernelKMeansPPInit(const KernelType &kernel, const ipUInt32 nbClusters, const VectorColl &inputDataColl, VectorColl &initClustersCenters)
function allowing to generate an initial solution for Kernel K-Means algorithm using K-Means++ approa...
double ipReal64
Base types definition.
Definition: BaseTypes.h:57
Definition: ClusteringTypes.h:31
boost::numeric::ublas::vector< ipReal64 > Vector
vector type associated to library
Definition: LinearAlgebraTypes.h:36
IPSDKMATH_API ipReal64 computeCompactness(const VectorColl &clustersCentersColl, const VectorColl &dataColl, const UInt32Vector &indexColl)
function allowing to compute compactness associated to a clustering result
std::vector< Vector > VectorColl
collection of vectors
Definition: ClusteringTypes.h:31
#define IPSDKMATH_API
Import/Export macro for library IPSDKMath.
Definition: IPSDKMathExports.h:27
Definition: KMeansClustering.h:43
IPSDKMATH_API ipReal64 computeClusterStdDev(const ipUInt32 clusterIdx, const VectorColl &inputDataColl, const UInt32Vector &indexColl, const Vector &clusterCenter)
function allowing to compute standard deviation associated to a given cluster
IPSDKMATH_API ipUInt32 computeKernelKMeansAttempt(const KernelType &kernel, const VectorColl &inputDataColl, const ipUInt32 nbMaxIteration, const ipReal64 minChangeRatio, std::vector< KernelKMeansCentroid< KernelType > > &inOutClustersCentroids, UInt32Vector &assignments)
function allowing to compute a kernel kmeans attempt from an initial solution
IPSDKMATH_API ipUInt32 computeKMeansAttempt(const VectorColl &inputDataColl, const ipUInt32 nbMaxIteration, VectorColl &inOutClustersCenters, UInt32Vector &assignments)
function allowing to compute a kmeans attempt from an initial solution
IPSDKMATH_API std::ostream & operator<<(std::ostream &os, const EstimationConfig &config)
output operator on EstimationConfig
IPSDKMATH_API ipReal64 computeValidityIndex(const VectorColl &clustersCentersColl, const VectorColl &dataColl, const UInt32Vector &indexColl, const eValidityIndexType &validityIndexType)
function allowing to compute a validity index of a clustering
IPSDKMATH_API ipUInt32 computeAssignment(const VectorColl &clustersCentersColl, const Vector &data)
function allowing to compute cluster assignment using an euclidian distance to clusters centers ...
Predefined types for clustering algorithm.
IPSDKMATH_API void generateKMeansPPInit(const ipUInt32 nbClusters, const VectorColl &inputDataColl, VectorColl &initClustersCenters)
function allowing to generate an initial solution for K-Means algorithm using K-Means++ approach ...
Definition: ClusteringTypes.h:29
IPSDKMATH_API void computeClustersCenters(const ipUInt32 nbClusters, const VectorColl &inputDataColl, const UInt32Vector &indexColl, VectorColl &clustersCentersColl)
function allowing to compute clusters centers given data assignments using mean computation ...
IPSDKMATH_API ipReal64 radialBasisKernelSigmaFromDynamic(const VectorColl &inputDataColl, const ipReal64 ratio=0.2)
function allowing to compute a sigma value used for radial basis kernel computations based on input d...
uint32_t ipUInt32
Base types definition.
Definition: BaseTypes.h:53