22 #ifndef __LINEAR_REGRESSION_MODEL_BUILDER_H__
23 #define __LINEAR_REGRESSION_MODEL_BUILDER_H__
25 #include "algorithms/linear_regression/linear_regression_model.h"
36 namespace linear_regression
56 template<
typename modelFPType = DAAL_ALGORITHM_FP_TYPE>
57 class DAAL_EXPORT ModelBuilder
66 ModelBuilder(
size_t nFeatures,
size_t nResponses);
75 template<
typename RandomIterator>
76 void setBeta(RandomIterator first, RandomIterator last)
78 data_management::BlockDescriptor<modelFPType> pBlock;
79 _modelPtr->getBeta()->getBlockOfRows(0, _nResponses, data_management::readWrite, pBlock);
80 modelFPType* sp = pBlock.getBlockPtr();
81 if( (last - first) == ((_nFeatures)*_nResponses) )
83 setInterceptFlag(
false);
87 if( (i % (_nFeatures + 1)) == 0)
97 else if( (last - first) == ((_nFeatures + 1)*_nResponses) )
99 setInterceptFlag(
true);
109 _s = services::Status(services::ErrorIncorrectParameter);
110 services::throwIfPossible(_s);
112 _modelPtr->getBeta()->releaseBlockOfRows(pBlock);
128 services::Status getStatus()
139 void setInterceptFlag(
bool interceptFlag);
144 using interface1::ModelBuilder;
daal::algorithms::linear_regression::interface1::ModelBuilder
Class for building model of the linear regression algorithm
Definition: linear_regression_model_builder.h:57
daal
Definition: algorithm_base_common.h:31
daal::services::ErrorIncorrectParameter
Definition: error_indexes.h:97
daal::algorithms::linear_regression::interface1::ModelBuilder::setBeta
void setBeta(RandomIterator first, RandomIterator last)
Definition: linear_regression_model_builder.h:76
daal::algorithms::linear_regression::interface1::ModelBuilder::getStatus
services::Status getStatus()
Definition: linear_regression_model_builder.h:128
daal::algorithms::linear_regression::interface1::ModelBuilder::getModel
ModelPtr getModel()
Definition: linear_regression_model_builder.h:119