49 #ifndef __NAIVE_BAYES_TRAINING_ONLINE_H__
50 #define __NAIVE_BAYES_TRAINING_ONLINE_H__
52 #include "algorithms/algorithm.h"
53 #include "multinomial_naive_bayes_training_types.h"
54 #include "algorithms/classifier/classifier_training_online.h"
60 namespace multinomial_naive_bayes
79 template<
typename algorithmFPType, Method method, CpuType cpu>
80 class DAAL_EXPORT OnlineContainer :
public TrainingContainerIface<online>
88 OnlineContainer(daal::services::Environment::env *daalEnv);
98 services::Status compute() DAAL_C11_OVERRIDE;
105 services::Status finalizeCompute() DAAL_C11_OVERRIDE;
121 template<
typename algorithmFPType = DAAL_ALGORITHM_FP_TYPE, Method method = defaultDense>
122 class DAAL_EXPORT Online :
public classifier::training::Online
130 Online(
size_t nClasses) : parameter(nClasses)
141 Online(
const Online<algorithmFPType, method> &other) :
142 classifier::training::Online(other), parameter(other.parameter)
153 virtual int getMethod() const DAAL_C11_OVERRIDE {
return(
int)method; }
159 ResultPtr getResult()
161 return services::staticPointerCast<Result, classifier::training::Result>(_result);
170 services::Status setResult(
const ResultPtr& result)
172 DAAL_CHECK(result, services::ErrorNullResult)
174 _res = _result.get();
175 return services::Status();
183 _result.reset(
new Result());
191 PartialResultPtr getPartialResult() {
return PartialResult::cast(_partialResult); }
198 services::SharedPtr<Online<algorithmFPType, method> > clone()
const
200 return services::SharedPtr<Online<algorithmFPType, method> >(cloneImpl());
207 virtual Online<algorithmFPType, method> * cloneImpl() const DAAL_C11_OVERRIDE
209 return new Online<algorithmFPType, method>(*this);
212 services::Status allocateResult() DAAL_C11_OVERRIDE
214 PartialResultPtr pres = getPartialResult();
215 ResultPtr res = services::staticPointerCast<Result, classifier::training::Result>(_result);
216 services::Status s = res->template allocate<algorithmFPType>(pres.get(), ¶meter, (int)method);
217 _res = _result.get();
221 services::Status allocatePartialResult() DAAL_C11_OVERRIDE
223 PartialResultPtr pres = getPartialResult();
224 services::Status s = pres->template allocate<algorithmFPType>((classifier::training::InputIface *)(&input), ¶meter, (int)method);
225 _pres = _partialResult.get();
229 services::Status initializePartialResult() DAAL_C11_OVERRIDE
231 PartialResultPtr pres = getPartialResult();
232 services::Status s = pres->template initialize<algorithmFPType>((classifier::training::InputIface *)(&input), ¶meter, (int)method);
233 _pres = _partialResult.get();
239 _ac =
new __DAAL_ALGORITHM_CONTAINER(online, OnlineContainer, algorithmFPType, method)(&_env);
241 _result.reset(
new Result());
242 _partialResult.reset(
new PartialResult());
247 using interface1::OnlineContainer;
248 using interface1::Online;
daal::algorithms::multinomial_naive_bayes::training::interface1::Online::parameter
Parameter parameter
Definition: multinomial_naive_bayes_training_online.h:203
daal
Definition: algorithm_base_common.h:57
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:80
daal::algorithms::multinomial_naive_bayes::training::interface1::Online::Online
Online(const Online< algorithmFPType, method > &other)
Definition: multinomial_naive_bayes_training_online.h:141
daal::algorithms::multinomial_naive_bayes::training::interface1::Online::Online
Online(size_t nClasses)
Definition: multinomial_naive_bayes_training_online.h:130
daal::algorithms::multinomial_naive_bayes::training::interface1::Online::resetResult
void resetResult()
Definition: multinomial_naive_bayes_training_online.h:181
daal::algorithms::multinomial_naive_bayes::training::interface1::Online::getPartialResult
PartialResultPtr getPartialResult()
Definition: multinomial_naive_bayes_training_online.h:191
daal::algorithms::multinomial_naive_bayes::training::interface1::Result
Provides methods to access final results obtained with the compute() method of the naive Bayes traini...
Definition: multinomial_naive_bayes_training_types.h:185
daal::algorithms::multinomial_naive_bayes::training::interface1::Online::getMethod
virtual int getMethod() const DAAL_C11_OVERRIDE
Definition: multinomial_naive_bayes_training_online.h:153
daal::online
Definition: daal_defines.h:133
daal::algorithms::multinomial_naive_bayes::training::interface1::Online::getResult
ResultPtr getResult()
Definition: multinomial_naive_bayes_training_online.h:159
daal::algorithms::multinomial_naive_bayes::training::interface1::Online::clone
services::SharedPtr< Online< algorithmFPType, method > > clone() const
Definition: multinomial_naive_bayes_training_online.h:198
daal::services::ErrorNullResult
Definition: error_indexes.h:122
daal::algorithms::TrainingContainerIface
Abstract interface class that provides virtual methods to access and run implementations of the model...
Definition: training.h:76
daal::algorithms::multinomial_naive_bayes::training::interface1::Online
Algorithm class for training naive Bayes model.
Definition: multinomial_naive_bayes_training_online.h:122
daal::algorithms::multinomial_naive_bayes::training::interface1::Online::setResult
services::Status setResult(const ResultPtr &result)
Definition: multinomial_naive_bayes_training_online.h:170