33 #ifndef xmmModelConfiguration_h 34 #define xmmModelConfiguration_h 88 template <
typename ModelType>
91 template <
typename SingleClassModel,
typename ModelType_>
99 multiClass_regression_estimator(
108 multithreading(src.multithreading),
109 multiClass_regression_estimator(src.multiClass_regression_estimator),
110 class_parameters_(src.class_parameters_) {}
119 root.get(
"multithreading", 0).asInt());
120 multiClass_regression_estimator =
122 root.get(
"multiClass_regression_estimator", 0).asInt());
123 class_parameters_.clear();
124 for (
auto p : root[
"class_parameters"]) {
125 class_parameters_[p[
"label"].asString()].fromJson(p);
138 multiClass_regression_estimator =
153 if (class_parameters_.count(label) == 0) {
154 class_parameters_[label] = *
this;
156 return class_parameters_[label];
162 void reset() { class_parameters_.clear(); }
169 if (class_parameters_.count(label) > 0) {
170 class_parameters_.erase(label);
180 root[
"multithreading"] =
static_cast<int>(multithreading);
181 root[
"multiClass_regression_estimator"] =
182 static_cast<int>(multiClass_regression_estimator);
185 for (
auto p : class_parameters_) {
186 root[
"class_parameters"][i] = p.second.toJson();
187 root[
"class_parameters"][i][
"label"] = p.first;
MultiClassRegressionEstimator multiClass_regression_estimator
Regression mode for multiple class (prediction from likeliest class vs interpolation) ...
Definition: xmmModelConfiguration.hpp:216
void reset(std::string label)
Reset the parameters of a given classes to default.
Definition: xmmModelConfiguration.hpp:168
void reset()
Reset the parameters of all classes to default.
Definition: xmmModelConfiguration.hpp:162
Configuration(Json::Value const &root)
Constructor from Json Structure.
Definition: xmmModelConfiguration.hpp:116
ClassParameters & operator=(ClassParameters const &src)
Assignment.
Definition: xmmModelParameters.hpp:71
MultithreadingMode multithreading
Multithreading Training Mode.
Definition: xmmModelConfiguration.hpp:210
Probabilistic machine learning model for multiclass recognition and regression.
Definition: xmmModel.hpp:52
virtual void fromJson(Json::Value const &root)
Read the object from a JSON Structure.
Definition: xmmModelConfiguration.hpp:198
Configuration()
Default Constructor.
Definition: xmmModelConfiguration.hpp:97
No multithreading: all classes are trained sequentially.
MultiClassRegressionEstimator
Regression estimator for multiclass models.
Definition: xmmModelConfiguration.hpp:43
the output is estimated as the output values of the likeliest class
Model configuration.
Definition: xmmModelConfiguration.hpp:89
virtual Json::Value toJson() const =0
Write the object to a JSON Structure.
the output is estimated as a weight sum of the output values of each class
MultithreadingMode
Multithreading mode for multiple-class training.
Definition: xmmModelConfiguration.hpp:59
Multithreading in Background: all classes are trained in parallel in different threads. the train function returns after the training has started.
Multithreading: all classes are trained in parallel in different threads. the train function returns ...
Configuration(Configuration const &src)
Copy Constructor.
Definition: xmmModelConfiguration.hpp:106
virtual Json::Value toJson() const
Write the object to a JSON Structure.
Definition: xmmModelConfiguration.hpp:178
Exception class for handling JSON parsing errors.
Definition: xmmJson.hpp:127
Definition: xmmAttribute.hpp:42
Configuration & operator=(Configuration const &src)
Assignment.
Definition: xmmModelConfiguration.hpp:133
virtual void fromJson(Json::Value const &root)=0
Read the object from a JSON Structure.
std::map< std::string, ClassParameters< ModelType > > class_parameters_
Parameters for each class.
Definition: xmmModelConfiguration.hpp:222
ClassParameters< ModelType > & operator[](std::string label)
access the parameters of a given class by label
Definition: xmmModelConfiguration.hpp:152
Class-specific Model Parameters.
Definition: xmmModelParameters.hpp:48