56#include <QSharedPointer>
114 typedef QSharedPointer<KMeans>
SPtr;
128 explicit KMeans(QString distance = QString(
"sqeuclidean"),
129 QString start = QString(
"sample"),
130 qint32 replicates = 1,
131 QString emptyact = QString(
"singleton"),
148 qint32 replicates = 1,
168 Eigen::VectorXi& idx,
170 Eigen::VectorXd& sumD,
187 const Eigen::MatrixXd& start,
188 Eigen::VectorXi& idx,
190 Eigen::VectorXd& sumD,
202 Eigen::MatrixXd normalizedRows(
const Eigen::MatrixXd&
X)
const;
217 bool runReplicate(
const Eigen::MatrixXd&
X,
219 Eigen::VectorXi& idx,
220 Eigen::VectorXd& sumD,
233 Eigen::MatrixXd distfun(
const Eigen::MatrixXd&
X,
234 const Eigen::MatrixXd& C);
247 bool batchUpdate(
const Eigen::MatrixXd&
X,
249 Eigen::VectorXi& idx,
262 void gcentroids(
const Eigen::MatrixXd&
X,
263 const Eigen::VectorXi& index,
264 const Eigen::VectorXi& clusts,
265 Eigen::MatrixXd& centroids,
266 Eigen::VectorXi& counts);
278 bool onlineUpdate(
const Eigen::MatrixXd&
X,
280 Eigen::VectorXi& idx);
289 static KMeansDistance distanceFromString(
const std::string& name);
298 static KMeansStart startFromString(
const std::string& name);
330 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.
QSharedPointer< const KMeans > ConstSPtr
KMeans(QString distance=QString("sqeuclidean"), QString start=QString("sample"), qint32 replicates=1, QString emptyact=QString("singleton"), 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)
QSharedPointer< KMeans > SPtr
bool calculate(const Eigen::MatrixXd &X, const Eigen::MatrixXd &start, Eigen::VectorXi &idx, Eigen::MatrixXd &C, Eigen::VectorXd &sumD, Eigen::MatrixXd &D)