24 #ifndef __LINEAR_REGRESSION_MODEL_BUILDER_H__
25 #define __LINEAR_REGRESSION_MODEL_BUILDER_H__
27 #include "algorithms/linear_regression/linear_regression_model.h"
38 namespace linear_regression
58 template<
typename modelFPType = DAAL_ALGORITHM_FP_TYPE>
59 class DAAL_EXPORT ModelBuilder
68 ModelBuilder(
size_t nFeatures,
size_t nResponses);
77 template<
typename RandomIterator>
78 void setBeta(RandomIterator first, RandomIterator last)
80 data_management::BlockDescriptor<modelFPType> pBlock;
81 _modelPtr->getBeta()->getBlockOfRows(0, _nResponses, data_management::readWrite, pBlock);
82 modelFPType* sp = pBlock.getBlockPtr();
83 if( (last - first) == ((_nFeatures)*_nResponses) )
85 setInterceptFlag(
false);
89 if( (i % (_nFeatures + 1)) == 0)
99 else if( (last - first) == ((_nFeatures + 1)*_nResponses) )
101 setInterceptFlag(
true);
111 _s = services::Status(services::ErrorIncorrectParameter);
112 _modelPtr->getBeta()->releaseBlockOfRows(pBlock);
113 services::throwIfPossible(_s);
116 _modelPtr->getBeta()->releaseBlockOfRows(pBlock);
132 services::Status getStatus()
143 void setInterceptFlag(
bool interceptFlag);
148 using interface1::ModelBuilder;
daal::algorithms::linear_regression::interface1::ModelBuilder::setBeta
void setBeta(RandomIterator first, RandomIterator last)
Definition: linear_regression_model_builder.h:78
daal::algorithms::linear_regression::interface1::ModelBuilder::getModel
ModelPtr getModel()
Definition: linear_regression_model_builder.h:123
daal::services::ErrorIncorrectParameter
Definition: error_indexes.h:99
daal::algorithms::linear_regression::interface1::ModelBuilder
Class for building model of the linear regression algorithm
Definition: linear_regression_model_builder.h:59
daal::algorithms::linear_regression::interface1::ModelBuilder::getStatus
services::Status getStatus()
Definition: linear_regression_model_builder.h:132