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<algorithms::classifier::training::Batch> training;
93 services::SharedPtr<algorithms::classifier::prediction::Batch> prediction;
104 struct DAAL_EXPORT Parameter :
public ParameterBase
106 Parameter(
size_t nClasses,
size_t maxIterations = 100,
double accuracyThreshold = 1.0e-12) :
107 ParameterBase(nClasses), maxIterations(maxIterations), accuracyThreshold(accuracyThreshold) {}
109 size_t maxIterations;
110 double accuracyThreshold;
112 services::Status check() const DAAL_C11_OVERRIDE;
120 class DAAL_EXPORT Model : public daal::algorithms::classifier::Model
123 DECLARE_MODEL(Model, classifier::Model);
131 Model(
size_t nFeatures,
const ParameterBase *par);
146 static services::SharedPtr<Model> create(
size_t nFeatures,
const ParameterBase *par, services::Status* stat = NULL);
154 data_management::DataCollectionPtr getMultiClassClassifierModel()
164 DAAL_DEPRECATED classifier::ModelPtr *getTwoClassClassifierModels();
171 void setTwoClassClassifierModel(
size_t idx,
const classifier::ModelPtr& model);
178 classifier::ModelPtr getTwoClassClassifierModel(
size_t idx)
const;
184 size_t getNumberOfTwoClassClassifierModels()
const 186 return _models->size();
193 size_t getNumberOfFeatures() const DAAL_C11_OVERRIDE {
return _nFeatures; }
197 data_management::DataCollectionPtr _models;
198 classifier::ModelPtr *_modelsArray;
200 Model(
size_t nFeatures,
const ParameterBase *par, services::Status &st);
202 template<
typename Archive,
bool onDeserialize>
203 services::Status serialImpl(Archive *arch)
205 services::Status st = classifier::Model::serialImpl<Archive, onDeserialize>(arch);
208 arch->set(_nFeatures);
209 arch->setSharedPtrObj(_models);
214 typedef services::SharedPtr<Model> ModelPtr;
216 using interface1::ParameterBase;
217 using interface1::Parameter;
218 using interface1::Model;
219 using interface1::ModelPtr;
daal::services::interface1::Status
Class that holds the results of API calls. In case of API routine failure it contains the list of err...
Definition: error_handling.h:491
daal
Definition: algorithm_base_common.h:57
daal::algorithms::classifier::interface1::Parameter
Base class for the parameters of the classification algorithm.
Definition: classifier_model.h:81
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:120
daal::algorithms::neural_networks::prediction::prediction
Definition: neural_networks_prediction_result.h:79
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:104
daal::algorithms::multi_class_classifier::interface1::Parameter::maxIterations
size_t maxIterations
Definition: multi_class_classifier_model.h:109
daal::services::interface1::SharedPtr
Shared pointer that retains shared ownership of an object through a pointer. Several SharedPtr object...
Definition: daal_shared_ptr.h:187
daal::algorithms::classifier::interface1::Model
Base class for the model of the classification algorithm.
Definition: classifier_model.h:95
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< algorithms::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:193
daal::algorithms::multi_class_classifier::interface1::ParameterBase::training
services::SharedPtr< algorithms::classifier::training::Batch > training
Definition: multi_class_classifier_model.h:92
daal::algorithms::linear_regression::training::model
Definition: linear_regression_training_types.h:125
daal::algorithms::multi_class_classifier::interface1::Parameter::accuracyThreshold
double accuracyThreshold
Definition: multi_class_classifier_model.h:110
daal::algorithms::multi_class_classifier::interface1::Model::getNumberOfTwoClassClassifierModels
size_t getNumberOfTwoClassClassifierModels() const
Definition: multi_class_classifier_model.h:184