31 #ifndef GRT_KMEANS_HEADER
32 #define GRT_KMEANS_HEADER
34 #include "../../Util/GRTCommon.h"
35 #include "../../CoreModules/Clusterer.h"
36 #include "../../DataStructures/ClassificationData.h"
37 #include "../../DataStructures/UnlabelledData.h"
47 KMeans(
const UINT
numClusters=10,
const UINT minNumEpochs=5,
const UINT maxNumEpochs=1000,
const double minChange=1.0e-5,
const bool computeTheta=
true);
132 virtual bool predict_(VectorDouble &inputVector);
155 double getTheta(){
return finalTheta; }
156 bool getModelTrained(){
return trained; }
158 VectorDouble getTrainingThetaLog()
const{
return thetaTracker; }
160 vector< UINT > getClassLabelsVector()
const{
return assign; }
161 vector< UINT > getClassCountVector()
const{
return count; }
164 bool setComputeTheta(
const bool computeTheta);
187 inline double SQR(
const double a) {
return a*a;};
194 vector< UINT > assign, count;
195 VectorDouble thetaTracker;
205 #endif //GRT_KMEANS_HEADER
virtual bool saveModelToFile(string filename) const
UINT numTrainingSamples
Number of training examples.
virtual bool loadModelFromFile(string filename)
KMeans & operator=(const KMeans &rhs)
UINT numClusters
Number of clusters in the model.
virtual bool train(ClassificationData trainingData)
KMeans(const UINT numClusters=10, const UINT minNumEpochs=5, const UINT maxNumEpochs=1000, const double minChange=1.0e-5, const bool computeTheta=true)
virtual bool deepCopyFrom(const Clusterer *clusterer)
virtual bool predict(VectorDouble inputVector)
virtual bool predict_(VectorDouble &inputVector)
bool trainModel(MatrixDouble &data)
virtual bool saveModelToFile(fstream &file) const
virtual bool train_(MatrixDouble &data)
bool setClusters(const MatrixDouble &clusters)
virtual bool predict_(VectorDouble &inputVector)
virtual bool loadModelFromFile(fstream &file)
UINT nchg
Number of values changes.
virtual bool train_(ClassificationData &trainingData)