56#include <QSharedPointer>
112 typedef QSharedPointer<KMeans>
SPtr;
126 explicit KMeans(QString distance = QString(
"sqeuclidean"),
127 QString start = QString(
"sample"),
128 qint32 replicates = 1,
129 QString emptyact = QString(
"error"),
146 qint32 replicates = 1,
166 Eigen::VectorXi& idx,
168 Eigen::VectorXd& sumD,
181 Eigen::MatrixXd distfun(
const Eigen::MatrixXd&
X,
182 const Eigen::MatrixXd& C);
194 bool batchUpdate(
const Eigen::MatrixXd&
X,
196 Eigen::VectorXi& idx);
208 void gcentroids(
const Eigen::MatrixXd&
X,
209 const Eigen::VectorXi& index,
210 const Eigen::VectorXi& clusts,
211 Eigen::MatrixXd& centroids,
212 Eigen::VectorXi& counts);
224 bool onlineUpdate(
const Eigen::MatrixXd&
X,
226 Eigen::VectorXi& idx);
235 static KMeansDistance distanceFromString(
const std::string& name);
244 static KMeansStart startFromString(
const std::string& name);
276 Eigen::VectorXi previdx;
Export/import macros and build-stamp accessors for MATHLIB.
#define MATHSHARED_EXPORT
Shared utilities (I/O helpers, spectral analysis, layout management, warp algorithms).
KMeansDistance
Distance metric for K-Means clustering.
KMeansEmptyAction
Action to take when a K-Means cluster becomes empty.
KMeansStart
Initialization strategy for K-Means clustering.
bool calculate(const Eigen::MatrixXd &X, qint32 kClusters, Eigen::VectorXi &idx, Eigen::MatrixXd &C, Eigen::VectorXd &sumD, Eigen::MatrixXd &D)
QSharedPointer< const KMeans > ConstSPtr
KMeans(QString distance=QString("sqeuclidean"), QString start=QString("sample"), qint32 replicates=1, QString emptyact=QString("error"), bool online=true, qint32 maxit=100)
QSharedPointer< KMeans > SPtr