12 #ifndef _RAPID_XMM_TOOLS_H_ 13 #define _RAPID_XMM_TOOLS_H_ 16 #ifndef EXTERNAL_JSONCPP_PATH 18 #define EXTERNAL_JSONCPP_PATH "json.h" 24 namespace rapidmix {
class trainingData; }
55 relativeRegularization(0.01),
56 absoluteRegularization(0.01),
63 likelihoodWindow(5) {}
84 template <
class SingleClassModel,
class Model>
88 model = Model(bimodal);
89 model.configuration.multithreading = xmm::MultithreadingMode::Sequential;
90 model.configuration.changed =
true;
92 set = xmm::TrainingSet(xmm::MemoryMode::OwnMemory,
94 ? xmm::Multimodality::Bimodal
95 : xmm::Multimodality::Unimodal
99 virtual void preProcess(
const std::vector<double> &inputVector) {
100 std::vector<float> fv(inputVector.begin(), inputVector.end());
115 virtual std::string getJSON();
117 virtual void writeJSON(
const std::string &filepath);
119 virtual bool putJSON(
const std::string &jsonMessage);
121 virtual bool readJSON(
const std::string &filepath);
125 xmm::TrainingSet
set;
127 Json::Value toJSON();
128 bool fromJSON(Json::Value &jm);
133 template <
class SingleClassModel,
class Model>
137 xmmTool<SingleClassModel, Model>(bimodal) {
138 xmm::Configuration<SingleClassModel>& mCfg = this->model.configuration;
144 xmm::MultiClassRegressionEstimator mcre;
147 mcre = xmm::MultiClassRegressionEstimator::Likeliest;
150 mcre = xmm::MultiClassRegressionEstimator::Mixture;
153 mCfg.multiClass_regression_estimator = mcre;
155 xmm::GaussianDistribution::CovarianceMode gdcm;
158 gdcm = xmm::GaussianDistribution::CovarianceMode::Full;
162 gdcm = xmm::GaussianDistribution::CovarianceMode::Diagonal;
165 mCfg.covariance_mode.set(gdcm);
178 template <
class SingleClassModel,
class Model>
183 xmm::Configuration<SingleClassModel>& mCfg = this->model.configuration;
188 xmm::HMM::TransitionMode htm;
191 htm = xmm::HMM::TransitionMode::LeftRight;
195 htm = xmm::HMM::TransitionMode::Ergodic;
198 mCfg.transition_mode.set(htm);
200 xmm::HMM::RegressionEstimator hre;
203 hre = xmm::HMM::RegressionEstimator::Full;
206 hre = xmm::HMM::RegressionEstimator::Windowed;
210 hre = xmm::HMM::RegressionEstimator::Likeliest;
213 mCfg.regression_estimator.set(hre);
239 std::vector<double> run(
const std::vector<double>& inputVector);
257 std::vector<double> run(
const std::vector<double>& inputVector);
275 std::vector<double> run(
const std::vector<double>& inputVector);
293 std::vector<double> run(
const std::vector<double>& inputVector);
~rapidXmmGmr()
Definition: rapidXMM.h:255
xmmHmmRegressionEstimator
Definition: rapidXMM.h:45
Definition: rapidXMM.h:35
rapidXmmGmr(xmmToolConfig cfg=xmmToolConfig())
Definition: rapidXMM.h:251
Definition: rapidXMM.h:41
Definition: rapidXMM.h:40
Definition: rapidXMM.h:34
Temporal regression using Hierarchical Hidden Markov Models.
Definition: rapidXMM.h:283
Static regression using Gaussian Mixture Models.
Definition: rapidXMM.h:247
xmmRegressionEstimator
Definition: rapidXMM.h:27
Definition: machineLearning.cpp:11
rapidXmmHmm(xmmToolConfig cfg=xmmToolConfig())
Definition: rapidXMM.h:269
Definition: rapidXMM.h:28
~rapidXmmGmm()
Definition: rapidXMM.h:237
rapidXmmHmr(xmmToolConfig cfg=xmmToolConfig())
Definition: rapidXMM.h:287
Static classification using Gaussian Mixture Models.
Definition: rapidXMM.h:229
Temporal classification using Hierarchical Hidden Markov Models.
Definition: rapidXMM.h:265
Definition: trainingData.h:24
Definition: rapidXMM.h:46
Definition: rapidXMM.h:48
Definition: rapidXMM.h:47
xmmHmmTransitionMode
Definition: rapidXMM.h:39
rapidXmmGmm(xmmToolConfig cfg=xmmToolConfig())
Definition: rapidXMM.h:233
~rapidXmmHmm()
Definition: rapidXMM.h:273
Definition: rapidXMM.h:29
~rapidXmmHmr()
Definition: rapidXMM.h:291
xmmCovarianceMode
Definition: rapidXMM.h:33