v2.0.0
Loading...
Searching...
No Matches
UTILSLIB::KMeans Class Reference

K-Means Clustering. More...

#include <kmeans.h>

Public Types

typedef QSharedPointer< KMeansSPtr
typedef QSharedPointer< const KMeansConstSPtr

Public Member Functions

 KMeans (QString distance=QString("sqeuclidean"), QString start=QString("sample"), qint32 replicates=1, QString emptyact=QString("error"), bool online=true, qint32 maxit=100)
 KMeans (KMeansDistance distance, KMeansStart start=KMeansStart::Sample, qint32 replicates=1, KMeansEmptyAction emptyact=KMeansEmptyAction::Error, bool online=true, qint32 maxit=100)
bool calculate (const Eigen::MatrixXd &X, qint32 kClusters, Eigen::VectorXi &idx, Eigen::MatrixXd &C, Eigen::VectorXd &sumD, Eigen::MatrixXd &D)

Detailed Description

K-Means Clustering.

K-Means Clustering

Definition at line 108 of file kmeans.h.

Member Typedef Documentation

◆ ConstSPtr

typedef QSharedPointer<const KMeans> UTILSLIB::KMeans::ConstSPtr

Const shared pointer type for KMeans.

Definition at line 112 of file kmeans.h.

◆ SPtr

typedef QSharedPointer<KMeans> UTILSLIB::KMeans::SPtr

Shared pointer type for KMeans.

Definition at line 111 of file kmeans.h.

Constructor & Destructor Documentation

◆ KMeans() [1/2]

KMeans::KMeans ( QString distance = QString("sqeuclidean"),
QString start = QString("sample"),
qint32 replicates = 1,
QString emptyact = QString("error"),
bool online = true,
qint32 maxit = 100 )
explicit

Constructs a KMeans algorithm object.

Parameters
[in]distance(optional) K-Means distance measure: "sqeuclidean" (default), "cityblock" , "cosine", "correlation", "hamming".
[in]start(optional) Cluster initialization: "sample" (default), "uniform", "cluster".
[in]replicates(optional) Number of K-Means replicates, which are generated. Best is returned.
[in]emptyact(optional) What happens if a cluster goes empty: "error" (default), "drop", "singleton".
[in]online(optional) If centroids should be updated during iterations: true (default), false.
[in]maxit(optional) Maximal number of iterations per replicate; 100 by default.

Definition at line 65 of file kmeans.cpp.

◆ KMeans() [2/2]

KMeans::KMeans ( KMeansDistance distance,
KMeansStart start = KMeansStart::Sample,
qint32 replicates = 1,
KMeansEmptyAction emptyact = KMeansEmptyAction::Error,
bool online = true,
qint32 maxit = 100 )
explicit

Constructs a KMeans algorithm object using enum parameters (preferred for performance).

Parameters
[in]distanceDistance metric.
[in]startCluster initialization strategy.
[in]replicatesNumber of K-Means replicates. Best is returned.
[in]emptyactWhat happens if a cluster goes empty.
[in]onlineIf centroids should be updated during iterations.
[in]maxitMaximal number of iterations per replicate.

Definition at line 90 of file kmeans.cpp.

Member Function Documentation

◆ calculate()

bool KMeans::calculate ( const Eigen::MatrixXd & X,
qint32 kClusters,
Eigen::VectorXi & idx,
Eigen::MatrixXd & C,
Eigen::VectorXd & sumD,
Eigen::MatrixXd & D )

Clusters input data X.

Parameters
[in]XInput data (rows = points; cols = p dimensional space).
[in]kClustersNumber of k clusters.
[out]idxThe cluster indices to which cluster the input points belong to.
[out]CCluster centroids k x p.
[out]sumDSummation of the distances to the centroid within one cluster.
[out]DCluster distances to the centroid.
Returns
true if clustering succeeded, false otherwise.

Definition at line 140 of file kmeans.cpp.


The documentation for this class was generated from the following files: