24 #ifndef __MULTI_CLASS_CLASSIFIER_MODEL_H__
25 #define __MULTI_CLASS_CLASSIFIER_MODEL_H__
27 #include "services/daal_defines.h"
28 #include "algorithms/model.h"
29 #include "algorithms/classifier/classifier_model.h"
30 #include "algorithms/classifier/classifier_predict.h"
31 #include "algorithms/classifier/classifier_training_batch.h"
46 namespace multi_class_classifier
65 struct DAAL_EXPORT ParameterBase :
public daal::algorithms::classifier::interface1::Parameter
67 ParameterBase(
size_t nClasses): daal::algorithms::classifier::interface1::Parameter(nClasses), training(), prediction() {}
68 services::SharedPtr<algorithms::classifier::training::interface1::Batch> training;
69 services::SharedPtr<algorithms::classifier::prediction::interface1::Batch> prediction;
80 struct DAAL_EXPORT Parameter :
public ParameterBase
82 DAAL_DEPRECATED Parameter(
size_t nClasses,
size_t maxIterations = 100,
double accuracyThreshold = 1.0e-12) :
83 ParameterBase(nClasses), maxIterations(maxIterations), accuracyThreshold(accuracyThreshold) {}
86 double accuracyThreshold;
88 DAAL_DEPRECATED services::Status check() const DAAL_C11_OVERRIDE;
109 struct DAAL_EXPORT ParameterBase :
public daal::algorithms::classifier::Parameter
111 ParameterBase(
size_t nClasses): daal::algorithms::classifier::Parameter(nClasses), training(), prediction() {}
112 services::SharedPtr<algorithms::classifier::training::Batch> training;
113 services::SharedPtr<algorithms::classifier::prediction::Batch> prediction;
124 struct DAAL_EXPORT Parameter :
public ParameterBase
126 Parameter(
size_t nClasses,
size_t maxIterations = 100,
double accuracyThreshold = 1.0e-12) :
127 ParameterBase(nClasses), maxIterations(maxIterations), accuracyThreshold(accuracyThreshold) {}
129 size_t maxIterations;
130 double accuracyThreshold;
132 services::Status check() const DAAL_C11_OVERRIDE;
136 using interface2::ParameterBase;
137 using interface2::Parameter;
146 class DAAL_EXPORT Model :
public daal::algorithms::classifier::Model
149 DECLARE_MODEL(Model, classifier::Model);
157 Model(
size_t nFeatures,
const interface1::ParameterBase *par);
165 Model(
size_t nFeatures,
const interface2::ParameterBase *par);
180 static services::SharedPtr<Model> create(
size_t nFeatures,
const interface1::ParameterBase *par, services::Status* stat = NULL);
189 static services::SharedPtr<Model> create(
size_t nFeatures,
const interface2::ParameterBase *par, services::Status* stat = NULL);
197 data_management::DataCollectionPtr getMultiClassClassifierModel()
207 DAAL_DEPRECATED classifier::ModelPtr *getTwoClassClassifierModels();
214 void setTwoClassClassifierModel(
size_t idx,
const classifier::ModelPtr& model);
221 classifier::ModelPtr getTwoClassClassifierModel(
size_t idx)
const;
227 size_t getNumberOfTwoClassClassifierModels()
const
229 return _models->size();
236 size_t getNumberOfFeatures() const DAAL_C11_OVERRIDE {
return _nFeatures; }
240 data_management::DataCollectionPtr _models;
241 classifier::ModelPtr *_modelsArray;
243 DAAL_DEPRECATED Model(
size_t nFeatures,
const interface1::ParameterBase *par, services::Status &st);
244 Model(
size_t nFeatures,
const interface2::ParameterBase *par, services::Status &st);
246 template<
typename Archive,
bool onDeserialize>
247 services::Status serialImpl(Archive *arch)
249 services::Status st = classifier::Model::serialImpl<Archive, onDeserialize>(arch);
252 arch->set(_nFeatures);
253 arch->setSharedPtrObj(_models);
258 typedef services::SharedPtr<Model> ModelPtr;
260 using interface1::Model;
261 using interface1::ModelPtr;
daal::algorithms::multi_class_classifier::interface2::Parameter::maxIterations
size_t maxIterations
Definition: multi_class_classifier_model.h:129
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:146
daal::algorithms::multi_class_classifier::interface2::ParameterBase
Parameters of the multi-class classifier algorithm.
Definition: multi_class_classifier_model.h:109
daal::algorithms::neural_networks::prediction::prediction
Definition: neural_networks_prediction_result.h:55
daal::algorithms::multi_class_classifier::interface1::Parameter::accuracyThreshold
double accuracyThreshold
Definition: multi_class_classifier_model.h:86
daal::algorithms::multi_class_classifier::interface1::Parameter::maxIterations
size_t maxIterations
Definition: multi_class_classifier_model.h:85
daal::algorithms::multi_class_classifier::interface1::ParameterBase::prediction
services::SharedPtr< algorithms::classifier::prediction::interface1::Batch > prediction
Definition: multi_class_classifier_model.h:69
daal::algorithms::multi_class_classifier::interface2::Parameter::accuracyThreshold
double accuracyThreshold
Definition: multi_class_classifier_model.h:130
daal::algorithms::elastic_net::training::model
Definition: elastic_net_training_types.h:109
daal::algorithms::multi_class_classifier::interface1::ParameterBase::training
services::SharedPtr< algorithms::classifier::training::interface1::Batch > training
Definition: multi_class_classifier_model.h:68
daal::algorithms::multi_class_classifier::interface2::ParameterBase::training
services::SharedPtr< algorithms::classifier::training::Batch > training
Definition: multi_class_classifier_model.h:112
daal::algorithms::classifier::interface1::Parameter
Base class for the parameters of the classification algorithm.
Definition: classifier_model.h:69
daal::algorithms::multi_class_classifier::interface2::ParameterBase::prediction
services::SharedPtr< algorithms::classifier::prediction::Batch > prediction
Definition: multi_class_classifier_model.h:113
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:80
daal::algorithms::multi_class_classifier::interface1::Model::getMultiClassClassifierModel
data_management::DataCollectionPtr getMultiClassClassifierModel()
Definition: multi_class_classifier_model.h:197
daal::algorithms::multi_class_classifier::interface1::Model::getNumberOfTwoClassClassifierModels
size_t getNumberOfTwoClassClassifierModels() const
Definition: multi_class_classifier_model.h:227
daal::algorithms::multi_class_classifier::interface1::Model::getNumberOfFeatures
size_t getNumberOfFeatures() const DAAL_C11_OVERRIDE
Definition: multi_class_classifier_model.h:236
daal::algorithms::multi_class_classifier::interface1::ParameterBase
Parameters of the multi-class classifier algorithm.
Definition: multi_class_classifier_model.h:65