16 #ifndef __MULTI_CLASS_CLASSIFIER_MODEL_BUILDER_H__
17 #define __MULTI_CLASS_CLASSIFIER_MODEL_BUILDER_H__
19 #include "algorithms/multi_class_classifier/multi_class_classifier_model.h"
20 #include "algorithms/multi_class_classifier/multi_class_classifier_train_types.h"
34 namespace multi_class_classifier
53 template<training::Method method = training::oneAgainstOne>
54 class DAAL_EXPORT ModelBuilder
62 ModelBuilder(
size_t nFeatures,
size_t nClasses): _nFeatures(nFeatures), _nClasses(nClasses)
64 _par = services::SharedPtr<ParameterBase>(
new ParameterBase(_nClasses));
67 _modelPtr = Model::create(_nFeatures, _par.get(), &_s);
71 _s = services::Status(services::ErrorMemoryAllocationFailed);
81 void setTwoClassClassifierModel(
size_t negativeClassIdx,
size_t positiveClassIdx,
const classifier::ModelPtr& model)
83 if(negativeClassIdx >= positiveClassIdx)
85 _s = services::Status(services::ErrorIncorrectParameter);
87 services::throwIfPossible(_s);
88 size_t imodel = positiveClassIdx * (positiveClassIdx - 1)/2 + negativeClassIdx;
90 _modelPtr->setTwoClassClassifierModel(imodel, model);
106 services::Status getStatus()
113 services::SharedPtr<ParameterBase> _par;
121 using interface1::ModelBuilder;
daal::algorithms::multi_class_classifier::interface1::ModelBuilder::getModel
ModelPtr getModel()
Definition: multi_class_classifier_model_builder.h:97
daal
Definition: algorithm_base_common.h:31
daal::services::ErrorIncorrectParameter
Definition: error_indexes.h:97
daal::algorithms::multi_class_classifier::interface1::ModelBuilder::ModelBuilder
ModelBuilder(size_t nFeatures, size_t nClasses)
Definition: multi_class_classifier_model_builder.h:62
daal::services::ErrorMemoryAllocationFailed
Definition: error_indexes.h:147
daal::algorithms::classifier::prediction::model
Definition: classifier_predict_types.h:66
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:54
daal::algorithms::multi_class_classifier::interface1::ModelBuilder::getStatus
services::Status getStatus()
Definition: multi_class_classifier_model_builder.h:106
daal::algorithms::multi_class_classifier::interface1::ParameterBase
Parameters of the multi-class classifier algorithm.
Definition: multi_class_classifier_model.h:63
daal::algorithms::multi_class_classifier::interface1::Model::create
static services::SharedPtr< Model > create(size_t nFeatures, const ParameterBase *par, services::Status *stat=NULL)
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:81