18 #ifndef __MULTI_CLASS_CLASSIFIER_MODEL_BUILDER_H__
19 #define __MULTI_CLASS_CLASSIFIER_MODEL_BUILDER_H__
21 #include "algorithms/multi_class_classifier/multi_class_classifier_model.h"
22 #include "algorithms/multi_class_classifier/multi_class_classifier_train_types.h"
36 namespace multi_class_classifier
55 template<training::Method method = training::oneAgainstOne>
56 class DAAL_EXPORT ModelBuilder
64 ModelBuilder(
size_t nFeatures,
size_t nClasses): _nFeatures(nFeatures), _nClasses(nClasses)
66 _par = services::SharedPtr<ParameterBase>(
new ParameterBase(_nClasses));
69 _modelPtr = Model::create(_nFeatures, _par.get(), &_s);
73 _s = services::Status(services::ErrorMemoryAllocationFailed);
83 void setTwoClassClassifierModel(
size_t negativeClassIdx,
size_t positiveClassIdx,
const classifier::ModelPtr& model)
85 if(negativeClassIdx >= positiveClassIdx)
87 _s |= services::Status(services::ErrorIncorrectParameter);
92 services::throwIfPossible(_s);
95 size_t imodel = positiveClassIdx * (positiveClassIdx - 1)/2 + negativeClassIdx;
97 _modelPtr->setTwoClassClassifierModel(imodel, model);
113 services::Status getStatus()
120 services::SharedPtr<ParameterBase> _par;
128 using interface1::ModelBuilder;
daal::algorithms::multi_class_classifier::interface1::Model::create
static services::SharedPtr< Model > create(size_t nFeatures, const interface1::ParameterBase *par, services::Status *stat=NULL)
daal::algorithms::multi_class_classifier::interface1::ModelBuilder::getStatus
services::Status getStatus()
Definition: multi_class_classifier_model_builder.h:113
daal::algorithms::multi_class_classifier::interface1::ModelBuilder::getModel
ModelPtr getModel()
Definition: multi_class_classifier_model_builder.h:104
daal::algorithms::multi_class_classifier::interface1::ModelBuilder::setTwoClassClassifierModel
void setTwoClassClassifierModel(size_t negativeClassIdx, size_t positiveClassIdx, const classifier::ModelPtr &model)
Definition: multi_class_classifier_model_builder.h:83
daal::algorithms::elastic_net::training::model
Definition: elastic_net_training_types.h:109
daal::algorithms::multi_class_classifier::interface1::ModelBuilder
Builder for Model of the classifier trained by the multi_class_classifier::training::Batch algorithm...
Definition: multi_class_classifier_model_builder.h:56
daal::services::ErrorIncorrectParameter
Definition: error_indexes.h:99
daal::services::ErrorMemoryAllocationFailed
Definition: error_indexes.h:150
daal::algorithms::multi_class_classifier::interface1::ParameterBase
Parameters of the multi-class classifier algorithm.
Definition: multi_class_classifier_model.h:65
daal::algorithms::multi_class_classifier::interface1::ModelBuilder::ModelBuilder
ModelBuilder(size_t nFeatures, size_t nClasses)
Definition: multi_class_classifier_model_builder.h:64