25 #ifndef __NAIVE_BAYES_TRAINING_ONLINE_H__
26 #define __NAIVE_BAYES_TRAINING_ONLINE_H__
28 #include "algorithms/algorithm.h"
29 #include "multinomial_naive_bayes_training_types.h"
30 #include "algorithms/classifier/classifier_training_online.h"
36 namespace multinomial_naive_bayes
55 template<
typename algorithmFPType, Method method, CpuType cpu>
56 class OnlineContainer :
public TrainingContainerIface<online>
64 DAAL_DEPRECATED OnlineContainer(daal::services::Environment::env *daalEnv);
66 DAAL_DEPRECATED ~OnlineContainer();
74 DAAL_DEPRECATED services::Status compute() DAAL_C11_OVERRIDE;
81 DAAL_DEPRECATED services::Status finalizeCompute() DAAL_C11_OVERRIDE;
97 template<
typename algorithmFPType = DAAL_ALGORITHM_FP_TYPE, Method method = defaultDense>
98 class DAAL_EXPORT Online :
public classifier::training::interface1::Online
101 typedef classifier::training::interface1::Online super;
103 typedef typename super::InputType InputType;
104 typedef algorithms::multinomial_naive_bayes::interface1::Parameter ParameterType;
105 typedef algorithms::multinomial_naive_bayes::training::Result ResultType;
106 typedef algorithms::multinomial_naive_bayes::training::PartialResult PartialResultType;
112 DAAL_DEPRECATED Online(
size_t nClasses) : parameter(nClasses)
123 DAAL_DEPRECATED Online(
const Online<algorithmFPType, method> &other) :
124 classifier::training::interface1::Online(other), parameter(other.parameter)
129 DAAL_DEPRECATED_VIRTUAL
virtual ~Online() {}
135 DAAL_DEPRECATED_VIRTUAL
virtual int getMethod() const DAAL_C11_OVERRIDE {
return(
int)method; }
141 DAAL_DEPRECATED ResultPtr getResult()
143 return services::staticPointerCast<ResultType, classifier::training::Result>(_result);
152 DAAL_DEPRECATED services::Status setResult(
const ResultPtr& result)
154 DAAL_CHECK(result, services::ErrorNullResult)
156 _res = _result.get();
157 return services::Status();
163 DAAL_DEPRECATED
void resetResult()
165 _result.reset(
new ResultType());
173 DAAL_DEPRECATED PartialResultPtr getPartialResult() {
return PartialResultType::cast(_partialResult); }
180 DAAL_DEPRECATED services::SharedPtr<interface1::Online<algorithmFPType, method> > clone()
const
182 return services::SharedPtr<interface1::Online<algorithmFPType, method> >(cloneImpl());
185 ParameterType parameter;
189 virtual Online<algorithmFPType, method> * cloneImpl() const DAAL_C11_OVERRIDE
191 return new Online<algorithmFPType, method>(*this);
194 services::Status allocateResult() DAAL_C11_OVERRIDE
196 PartialResultPtr pres = getPartialResult();
197 ResultPtr res = services::staticPointerCast<ResultType, classifier::training::Result>(_result);
198 services::Status s = res->template allocate<algorithmFPType>(pres.get(), ¶meter, (int)method);
199 _res = _result.get();
203 services::Status allocatePartialResult() DAAL_C11_OVERRIDE
205 PartialResultPtr pres = getPartialResult();
206 services::Status s = pres->template allocate<algorithmFPType>((classifier::training::InputIface *)(&input), ¶meter, (int)method);
207 _pres = _partialResult.get();
211 services::Status initializePartialResult() DAAL_C11_OVERRIDE
213 PartialResultPtr pres = getPartialResult();
214 services::Status s = pres->template initialize<algorithmFPType>((classifier::training::InputIface *)(&input), ¶meter, (int)method);
215 _pres = _partialResult.get();
221 _ac =
new __DAAL_ALGORITHM_CONTAINER(online, OnlineContainer, algorithmFPType, method)(&_env);
223 _result.reset(
new ResultType());
224 _partialResult.reset(
new PartialResultType());
244 template<
typename algorithmFPType, Method method, CpuType cpu>
245 class OnlineContainer :
public TrainingContainerIface<online>
253 OnlineContainer(daal::services::Environment::env *daalEnv);
263 services::Status compute() DAAL_C11_OVERRIDE;
270 services::Status finalizeCompute() DAAL_C11_OVERRIDE;
286 template<
typename algorithmFPType = DAAL_ALGORITHM_FP_TYPE, Method method = defaultDense>
287 class DAAL_EXPORT Online :
public classifier::training::Online
290 typedef classifier::training::Online super;
292 typedef algorithms::multinomial_naive_bayes::training::Input InputType;
293 typedef algorithms::multinomial_naive_bayes::Parameter ParameterType;
294 typedef algorithms::multinomial_naive_bayes::training::Result ResultType;
295 typedef algorithms::multinomial_naive_bayes::training::PartialResult PartialResultType;
302 Online(
size_t nClasses) : parameter(nClasses), input()
313 Online(
const Online<algorithmFPType, method> &other) :
314 super(other), parameter(other.parameter), input(other.input)
325 InputType * getInput() DAAL_C11_OVERRIDE {
return &input; }
331 virtual int getMethod() const DAAL_C11_OVERRIDE {
return(
int)method; }
337 ResultPtr getResult()
339 return services::staticPointerCast<ResultType, classifier::training::Result>(_result);
348 services::Status setResult(
const ResultPtr& result)
350 DAAL_CHECK(result, services::ErrorNullResult)
352 _res = _result.get();
353 return services::Status();
361 _result.reset(
new ResultType());
369 PartialResultPtr getPartialResult() {
return PartialResultType::cast(_partialResult); }
376 services::SharedPtr<Online<algorithmFPType, method> > clone()
const
378 return services::SharedPtr<Online<algorithmFPType, method> >(cloneImpl());
381 ParameterType parameter;
385 virtual Online<algorithmFPType, method> * cloneImpl() const DAAL_C11_OVERRIDE
387 return new Online<algorithmFPType, method>(*this);
390 services::Status allocateResult() DAAL_C11_OVERRIDE
392 PartialResultPtr pres = getPartialResult();
393 ResultPtr res = services::staticPointerCast<ResultType, classifier::training::Result>(_result);
394 services::Status s = res->template allocate<algorithmFPType>(pres.get(), ¶meter, (int)method);
395 _res = _result.get();
399 services::Status allocatePartialResult() DAAL_C11_OVERRIDE
401 PartialResultPtr pres = getPartialResult();
402 services::Status s = pres->template allocate<algorithmFPType>((classifier::training::InputIface *)(&input), ¶meter, (int)method);
403 _pres = _partialResult.get();
407 services::Status initializePartialResult() DAAL_C11_OVERRIDE
409 PartialResultPtr pres = getPartialResult();
410 services::Status s = pres->template initialize<algorithmFPType>((classifier::training::InputIface *)(&input), ¶meter, (int)method);
411 _pres = _partialResult.get();
417 _ac =
new __DAAL_ALGORITHM_CONTAINER(online, OnlineContainer, algorithmFPType, method)(&_env);
420 _result.reset(
new ResultType());
421 _partialResult.reset(
new PartialResultType());
426 using interface2::OnlineContainer;
427 using interface2::Online;
daal::algorithms::multinomial_naive_bayes::training::interface1::Online::getPartialResult
DAAL_DEPRECATED PartialResultPtr getPartialResult()
Definition: multinomial_naive_bayes_training_online.h:173
daal::algorithms::classifier::training::interface1::Online
Algorithm class for training the classifier model in the online processing mode.
Definition: classifier_training_online.h:57
daal::algorithms::multinomial_naive_bayes::training::interface1::Online::clone
DAAL_DEPRECATED services::SharedPtr< interface1::Online< algorithmFPType, method > > clone() const
Definition: multinomial_naive_bayes_training_online.h:180
daal::algorithms::multinomial_naive_bayes::training::interface2::Online::setResult
services::Status setResult(const ResultPtr &result)
Definition: multinomial_naive_bayes_training_online.h:348
daal::algorithms::multinomial_naive_bayes::training::interface2::Online::getInput
InputType * getInput() DAAL_C11_OVERRIDE
Definition: multinomial_naive_bayes_training_online.h:325
daal::algorithms::multinomial_naive_bayes::training::interface2::Online::getResult
ResultPtr getResult()
Definition: multinomial_naive_bayes_training_online.h:337
daal::algorithms::multinomial_naive_bayes::training::interface2::Online::getMethod
virtual int getMethod() const DAAL_C11_OVERRIDE
Definition: multinomial_naive_bayes_training_online.h:331
daal::algorithms::multinomial_naive_bayes::training::interface2::OnlineContainer::compute
services::Status compute() DAAL_C11_OVERRIDE
daal::algorithms::multinomial_naive_bayes::training::interface1::Online::parameter
ParameterType parameter
Definition: multinomial_naive_bayes_training_online.h:185
daal::algorithms::multinomial_naive_bayes::training::interface2::OnlineContainer::~OnlineContainer
~OnlineContainer()
daal::algorithms::multinomial_naive_bayes::interface1::Parameter
Naive Bayes algorithm parameters.
Definition: multinomial_naive_bayes_model.h:60
daal::algorithms::multinomial_naive_bayes::training::interface1::Online::Online
DAAL_DEPRECATED Online(size_t nClasses)
Definition: multinomial_naive_bayes_training_online.h:112
daal::algorithms::multinomial_naive_bayes::training::interface1::Online
Algorithm class for training naive Bayes model.
Definition: multinomial_naive_bayes_training_online.h:98
daal::services::ErrorNullResult
Definition: error_indexes.h:98
daal::algorithms::multinomial_naive_bayes::training::interface2::Online::parameter
ParameterType parameter
Definition: multinomial_naive_bayes_training_online.h:381
daal::algorithms::multinomial_naive_bayes::training::interface2::Online::getPartialResult
PartialResultPtr getPartialResult()
Definition: multinomial_naive_bayes_training_online.h:369
daal::algorithms::multinomial_naive_bayes::training::interface1::OnlineContainer
Class containing computation methods for naive Bayes training in the online processing mode...
Definition: multinomial_naive_bayes_training_online.h:56
daal::algorithms::multinomial_naive_bayes::training::interface1::Online::resetResult
DAAL_DEPRECATED void resetResult()
Definition: multinomial_naive_bayes_training_online.h:163
daal::algorithms::multinomial_naive_bayes::training::interface1::Online::Online
DAAL_DEPRECATED Online(const Online< algorithmFPType, method > &other)
Definition: multinomial_naive_bayes_training_online.h:123
daal::algorithms::multinomial_naive_bayes::training::interface1::OnlineContainer::finalizeCompute
DAAL_DEPRECATED services::Status finalizeCompute() DAAL_C11_OVERRIDE
daal::algorithms::multinomial_naive_bayes::training::interface2::Online::resetResult
void resetResult()
Definition: multinomial_naive_bayes_training_online.h:359
daal::online
Definition: daal_defines.h:114
daal::algorithms::multinomial_naive_bayes::training::interface2::OnlineContainer
Class containing computation methods for naive Bayes training in the online processing mode...
Definition: multinomial_naive_bayes_training_online.h:245
daal::algorithms::multinomial_naive_bayes::training::interface1::OnlineContainer::~OnlineContainer
DAAL_DEPRECATED ~OnlineContainer()
daal::algorithms::multinomial_naive_bayes::training::interface2::Online::clone
services::SharedPtr< Online< algorithmFPType, method > > clone() const
Definition: multinomial_naive_bayes_training_online.h:376
daal::algorithms::multinomial_naive_bayes::training::interface1::Online::getMethod
virtual DAAL_DEPRECATED_VIRTUAL int getMethod() const DAAL_C11_OVERRIDE
Definition: multinomial_naive_bayes_training_online.h:135
daal::algorithms::multinomial_naive_bayes::training::interface1::Online::setResult
DAAL_DEPRECATED services::Status setResult(const ResultPtr &result)
Definition: multinomial_naive_bayes_training_online.h:152
daal::algorithms::classifier::interface1::Parameter
Base class for the parameters of the classification algorithm.
Definition: classifier_model.h:69
daal::algorithms::multinomial_naive_bayes::training::interface2::OnlineContainer::OnlineContainer
OnlineContainer(daal::services::Environment::env *daalEnv)
daal::algorithms::multinomial_naive_bayes::training::interface2::Online
Algorithm class for training naive Bayes model.
Definition: multinomial_naive_bayes_training_online.h:287
daal::algorithms::multinomial_naive_bayes::training::interface2::OnlineContainer::finalizeCompute
services::Status finalizeCompute() DAAL_C11_OVERRIDE
daal::algorithms::multinomial_naive_bayes::training::interface2::Online::Online
Online(const Online< algorithmFPType, method > &other)
Definition: multinomial_naive_bayes_training_online.h:313
daal::algorithms::multinomial_naive_bayes::training::interface1::OnlineContainer::OnlineContainer
DAAL_DEPRECATED OnlineContainer(daal::services::Environment::env *daalEnv)
daal::algorithms::multinomial_naive_bayes::training::interface1::OnlineContainer::compute
DAAL_DEPRECATED services::Status compute() DAAL_C11_OVERRIDE
daal::algorithms::multinomial_naive_bayes::training::interface1::Online::getResult
DAAL_DEPRECATED ResultPtr getResult()
Definition: multinomial_naive_bayes_training_online.h:141
daal::algorithms::TrainingContainerIface
Abstract interface class that provides virtual methods to access and run implementations of the model...
Definition: training.h:52
daal::algorithms::multinomial_naive_bayes::training::interface2::Online::Online
Online(size_t nClasses)
Definition: multinomial_naive_bayes_training_online.h:302