36 #include "../../core/model/xmmModelConfiguration.hpp" 37 #include "../../core/model/xmmModelSingleClass.hpp" 70 KMeans(
unsigned int clusters = 1);
101 void filter(std::vector<float>
const& observation);
110 Json::Value
toJson()
const;
117 void fromJson(Json::Value
const& root);
175 template <
typename T>
KMeans & operator=(KMeans const &src)
Assignment.
Definition: xmmKMeans.cpp:55
std::vector< float > centers
Clusters centers.
Definition: xmmKMeans.hpp:139
Configuration< KMeans > configuration
Configuration (default and class-specific parameters)
Definition: xmmKMeans.hpp:129
void train(TrainingSet *trainingSet)
Train the K-Means clutering from the given training set.
Definition: xmmKMeans.cpp:65
Results< KMeans > results
Results of the cluster association after update with an observation.
Definition: xmmKMeans.hpp:134
Results of the clustering process.
Definition: xmmKMeansResults.hpp:44
void reset()
Resets the fitering process (cluster association)
Definition: xmmKMeans.cpp:199
InitializationMode
Type of initizalization of the K-Means algorithm.
Definition: xmmKMeans.hpp:54
static const float DEFAULT_RELATIVE_VARIATION_THRESHOLD()
Definition: xmmKMeans.hpp:49
void filter(std::vector< float > const &observation)
filters a incoming observation (performs cluster association)
Definition: xmmKMeans.cpp:203
Model configuration.
Definition: xmmModelConfiguration.hpp:89
void randomizeClusters(std::vector< float > const &trainingSetVariance)
randomzie Cluster Centers (normalized width data variance) of the first phrase of the training set ...
Definition: xmmKMeans.cpp:129
void initClustersWithFirstPhrase(std::shared_ptr< Phrase > phrase)
Initialize the clusters using a regular segmentation of the first phrase of the training set...
Definition: xmmKMeans.cpp:110
Json::Value toJson() const
Write the object to a JSON Structure.
Definition: xmmKMeans.cpp:221
K-Means Clustering algorithm.
Definition: xmmKMeans.hpp:46
T euclidean_distance(const T *vector1, const T *vector2, unsigned int dimension)
Simple Euclidian distance measure.
Definition: xmmKMeans.cpp:277
Base class for the definition of training sets.
Definition: xmmTrainingSet.hpp:46
void updateCenters(std::vector< float > &previous_centers, TrainingSet *trainingSet)
Update method for training.
Definition: xmmKMeans.cpp:140
Abstract class for handling JSON + File I/O.
Definition: xmmJson.hpp:50
biased initialization: initialiazed with the first phrase
Definition: xmmAttribute.hpp:42
void fromJson(Json::Value const &root)
Read the object from a JSON Structure.
Definition: xmmKMeans.cpp:232
KMeans::InitializationMode initialization_mode
Type of initialization for the K-Means Algorithm.
Definition: xmmKMeans.hpp:144
KMeans(unsigned int clusters=1)
Default Constructor.
Definition: xmmKMeans.cpp:44
random initialization (scaled using training set variance)
std::shared_ptr< SharedParameters > shared_parameters
Set of Parameters shared among classes.
Definition: xmmKMeans.hpp:124
static const unsigned int DEFAULT_MAX_ITERATIONS
Definition: xmmKMeans.hpp:48