24 #ifndef __LOGISTIC_REGRESSION_MODEL_BUILDER_H__
25 #define __LOGISTIC_REGRESSION_MODEL_BUILDER_H__
27 #include "algorithms/logistic_regression/logistic_regression_model.h"
41 namespace logistic_regression
60 template<
typename modelFPType = DAAL_ALGORITHM_FP_TYPE>
61 class DAAL_EXPORT ModelBuilder
70 ModelBuilder(
size_t nFeatures,
size_t nClasses);
79 template<
typename RandomIterator>
80 void setBeta(RandomIterator first, RandomIterator last)
82 data_management::BlockDescriptor<modelFPType> pBlock;
83 const size_t nVectorsBeta = _nClasses == 2 ? 1 : _nClasses;
84 _modelPtr->getBeta()->getBlockOfRows(0, nVectorsBeta, data_management::readWrite, pBlock);
85 modelFPType* sp = pBlock.getBlockPtr();
86 if((last - first) == _nFeatures*nVectorsBeta)
88 setInterceptFlag(
false);
92 if((i % (_nFeatures + 1)) == 0)
102 else if((last - first) == (_nFeatures + 1)*nVectorsBeta)
104 setInterceptFlag(
true);
114 _s = services::Status(services::ErrorIncorrectParameter);
115 _modelPtr->getBeta()->releaseBlockOfRows(pBlock);
116 services::throwIfPossible(_s);
119 _modelPtr->getBeta()->releaseBlockOfRows(pBlock);
135 services::Status getStatus()
146 void setInterceptFlag(
bool interceptFlag);
151 using interface1::ModelBuilder;
daal::algorithms::logistic_regression::interface1::ModelBuilder::getStatus
services::Status getStatus()
Definition: logistic_regression_model_builder.h:135
daal::algorithms::logistic_regression::interface1::ModelBuilder
Class for building model of the logistic regression algorithm
Definition: logistic_regression_model_builder.h:61
daal::algorithms::logistic_regression::interface1::ModelBuilder::getModel
ModelPtr getModel()
Definition: logistic_regression_model_builder.h:126
daal::algorithms::logistic_regression::interface1::ModelBuilder::setBeta
void setBeta(RandomIterator first, RandomIterator last)
Definition: logistic_regression_model_builder.h:80
daal::services::ErrorIncorrectParameter
Definition: error_indexes.h:99