57#include <QSharedPointer>
111 typedef QSharedPointer<KMeans>
SPtr;
125 explicit KMeans(QString distance = QString(
"sqeuclidean"),
126 QString start = QString(
"sample"),
127 qint32 replicates = 1,
128 QString emptyact = QString(
"error"),
145 qint32 replicates = 1,
165 Eigen::VectorXi& idx,
167 Eigen::VectorXd& sumD,
180 Eigen::MatrixXd distfun(
const Eigen::MatrixXd&
X,
181 const Eigen::MatrixXd& C);
193 bool batchUpdate(
const Eigen::MatrixXd&
X,
195 Eigen::VectorXi& idx);
207 void gcentroids(
const Eigen::MatrixXd&
X,
208 const Eigen::VectorXi& index,
209 const Eigen::VectorXi& clusts,
210 Eigen::MatrixXd& centroids,
211 Eigen::VectorXi& counts);
223 bool onlineUpdate(
const Eigen::MatrixXd&
X,
225 Eigen::VectorXi& idx);
234 static KMeansDistance distanceFromString(
const std::string& name);
243 static KMeansStart startFromString(
const std::string& name);
275 Eigen::VectorXi previdx;
math library export/import macros.
#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