22 #ifndef __LOGISTIC_REGRESSION_MODEL_BUILDER_H__
23 #define __LOGISTIC_REGRESSION_MODEL_BUILDER_H__
25 #include "algorithms/logistic_regression/logistic_regression_model.h"
39 namespace logistic_regression
58 template<
typename modelFPType = DAAL_ALGORITHM_FP_TYPE>
59 class DAAL_EXPORT ModelBuilder
68 ModelBuilder(
size_t nFeatures,
size_t nClasses);
77 template<
typename RandomIterator>
78 void setBeta(RandomIterator first, RandomIterator last)
80 data_management::BlockDescriptor<modelFPType> pBlock;
81 const size_t nVectorsBeta = _nClasses == 2 ? 1 : _nClasses;
82 _modelPtr->getBeta()->getBlockOfRows(0, nVectorsBeta, data_management::readWrite, pBlock);
83 modelFPType* sp = pBlock.getBlockPtr();
84 if((last - first) == _nFeatures*nVectorsBeta)
86 setInterceptFlag(
false);
90 if((i % (_nFeatures + 1)) == 0)
100 else if((last - first) == (_nFeatures + 1)*nVectorsBeta)
102 setInterceptFlag(
true);
112 _s = services::Status(services::ErrorIncorrectParameter);
113 services::throwIfPossible(_s);
115 _modelPtr->getBeta()->releaseBlockOfRows(pBlock);
131 services::Status getStatus()
142 void setInterceptFlag(
bool interceptFlag);
147 using interface1::ModelBuilder;
daal
Definition: algorithm_base_common.h:31
daal::algorithms::logistic_regression::interface1::ModelBuilder::setBeta
void setBeta(RandomIterator first, RandomIterator last)
Definition: logistic_regression_model_builder.h:78
daal::algorithms::logistic_regression::interface1::ModelBuilder
Class for building model of the logistic regression algorithm
Definition: logistic_regression_model_builder.h:59
daal::services::ErrorIncorrectParameter
Definition: error_indexes.h:97
daal::algorithms::logistic_regression::interface1::ModelBuilder::getModel
ModelPtr getModel()
Definition: logistic_regression_model_builder.h:122
daal::algorithms::logistic_regression::interface1::ModelBuilder::getStatus
services::Status getStatus()
Definition: logistic_regression_model_builder.h:131