48 #ifndef __MULTI_CLASS_CLASSIFIER_MODEL_H__
49 #define __MULTI_CLASS_CLASSIFIER_MODEL_H__
51 #include "services/daal_defines.h"
52 #include "algorithms/model.h"
53 #include "algorithms/classifier/classifier_model.h"
54 #include "algorithms/classifier/classifier_predict.h"
55 #include "algorithms/classifier/classifier_training_batch.h"
70 namespace multi_class_classifier
89 struct DAAL_EXPORT ParameterBase :
public daal::algorithms::classifier::Parameter
91 ParameterBase(
size_t nClasses): daal::algorithms::classifier::Parameter(nClasses), training(), prediction() {}
92 services::SharedPtr<classifier::training::Batch> training;
93 services::SharedPtr<classifier::prediction::Batch> prediction;
95 services::Status check() const DAAL_C11_OVERRIDE;
106 struct DAAL_EXPORT Parameter : public ParameterBase
108 Parameter(
size_t nClasses,
size_t maxIterations = 100,
double accuracyThreshold = 1.0e-12) :
109 ParameterBase(nClasses), maxIterations(maxIterations), accuracyThreshold(accuracyThreshold) {}
111 size_t maxIterations;
112 double accuracyThreshold;
114 services::Status check() const DAAL_C11_OVERRIDE;
122 class DAAL_EXPORT Model : public daal::algorithms::classifier::Model
125 DECLARE_MODEL(Model, classifier::Model);
133 Model(
size_t nFeatures,
const ParameterBase *par);
148 static services::SharedPtr<Model> create(
size_t nFeatures,
const ParameterBase *par, services::Status* stat = NULL);
156 data_management::DataCollectionPtr getMultiClassClassifierModel()
166 DAAL_DEPRECATED classifier::ModelPtr *getTwoClassClassifierModels();
173 void setTwoClassClassifierModel(
size_t idx,
const classifier::ModelPtr& model);
180 classifier::ModelPtr getTwoClassClassifierModel(
size_t idx)
const;
186 size_t getNumberOfTwoClassClassifierModels()
const
188 return _models->size();
195 size_t getNumberOfFeatures() const DAAL_C11_OVERRIDE {
return _nFeatures; }
199 data_management::DataCollectionPtr _models;
200 classifier::ModelPtr *_modelsArray;
202 Model(
size_t nFeatures,
const ParameterBase *par, services::Status &st);
204 template<
typename Archive,
bool onDeserialize>
205 services::Status serialImpl(Archive *arch)
207 services::Status st = classifier::Model::serialImpl<Archive, onDeserialize>(arch);
210 arch->set(_nFeatures);
211 arch->setSharedPtrObj(_models);
216 typedef services::SharedPtr<Model> ModelPtr;
218 using interface1::ParameterBase;
219 using interface1::Parameter;
220 using interface1::Model;
221 using interface1::ModelPtr;
daal
Definition: algorithm_base_common.h:57
daal::algorithms::multi_class_classifier::interface1::Model
Model of the classifier trained by the multi_class_classifier::training::Batch algorithm.
Definition: multi_class_classifier_model.h:122
daal::algorithms::multi_class_classifier::interface1::Parameter
Optional multi-class classifier algorithm parameters that are used with the MultiClassClassifierWu pr...
Definition: multi_class_classifier_model.h:106
daal::algorithms::classifier::prediction::model
Definition: classifier_predict_types.h:92
daal::algorithms::multi_class_classifier::interface1::Parameter::maxIterations
size_t maxIterations
Definition: multi_class_classifier_model.h:111
daal::algorithms::multi_class_classifier::interface1::ParameterBase
Parameters of the multi-class classifier algorithm.
Definition: multi_class_classifier_model.h:89
daal::algorithms::multi_class_classifier::interface1::ParameterBase::prediction
services::SharedPtr< classifier::prediction::Batch > prediction
Definition: multi_class_classifier_model.h:93
daal::algorithms::multi_class_classifier::interface1::Model::getNumberOfFeatures
size_t getNumberOfFeatures() const DAAL_C11_OVERRIDE
Definition: multi_class_classifier_model.h:195
daal::algorithms::classifier::prediction::prediction
Definition: classifier_predict_types.h:102
daal::algorithms::multi_class_classifier::interface1::Model::getNumberOfTwoClassClassifierModels
size_t getNumberOfTwoClassClassifierModels() const
Definition: multi_class_classifier_model.h:186
daal::algorithms::multi_class_classifier::interface1::Parameter::accuracyThreshold
double accuracyThreshold
Definition: multi_class_classifier_model.h:112
daal::algorithms::multi_class_classifier::interface1::Model::getMultiClassClassifierModel
data_management::DataCollectionPtr getMultiClassClassifierModel()
Definition: multi_class_classifier_model.h:156
daal::algorithms::multi_class_classifier::interface1::ParameterBase::training
services::SharedPtr< classifier::training::Batch > training
Definition: multi_class_classifier_model.h:92