24 #ifndef __LINEAR_REGRESSION_TRAINING_TYPES_H__
25 #define __LINEAR_REGRESSION_TRAINING_TYPES_H__
27 #include "algorithms/algorithm.h"
28 #include "data_management/data/numeric_table.h"
29 #include "algorithms/linear_regression/linear_regression_model.h"
30 #include "algorithms/linear_model/linear_model_training_types.h"
39 namespace linear_regression
69 data = linear_model::training::data,
70 dependentVariables = linear_model::training::dependentVariables,
71 lastInputId = dependentVariables
79 enum Step2MasterInputId
82 lastStep2MasterInputId = partialModels
92 lastPartialResultID = partialModel
101 model = linear_model::training::model,
121 virtual size_t getNumberOfFeatures()
const = 0;
127 virtual size_t getNumberOfDependentVariables()
const = 0;
129 virtual ~InputIface() {}
136 class DAAL_EXPORT Input :
public linear_model::training::Input,
public InputIface
141 Input(
const Input& other);
150 data_management::NumericTablePtr
get(InputId id)
const;
157 void set(InputId
id,
const data_management::NumericTablePtr &value);
163 size_t getNumberOfFeatures()
const DAAL_C11_OVERRIDE;
169 size_t getNumberOfDependentVariables()
const DAAL_C11_OVERRIDE;
178 services::Status check(
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
185 template<ComputeStep step>
186 class DistributedInput
194 class DAAL_EXPORT PartialResult :
public linear_model::training::PartialResult
197 DECLARE_SERIALIZABLE_CAST(PartialResult);
205 daal::algorithms::linear_regression::ModelPtr
get(PartialResultID id)
const;
211 size_t getNumberOfFeatures()
const;
217 size_t getNumberOfDependentVariables()
const;
224 void set(PartialResultID
id,
const daal::algorithms::linear_regression::ModelPtr &value);
234 template <
typename algorithmFPType>
235 DAAL_EXPORT services::Status allocate(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *parameter,
const int method);
245 template <
typename algorithmFPType>
246 DAAL_EXPORT services::Status initialize(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *parameter,
const int method);
256 services::Status check(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
265 services::Status check(
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
269 template<
typename Archive,
bool onDeserialize>
270 services::Status serialImpl(Archive *arch)
272 return daal::algorithms::PartialResult::serialImpl<Archive, onDeserialize>(arch);
275 typedef services::SharedPtr<PartialResult> PartialResultPtr;
276 typedef services::SharedPtr<const PartialResult> PartialResultConstPtr;
283 template<>
class DAAL_EXPORT DistributedInput<step2Master> :
public daal::algorithms::Input,
public InputIface
286 DistributedInput<step2Master>();
293 data_management::DataCollectionPtr
get(Step2MasterInputId id)
const;
301 void set(Step2MasterInputId
id,
const data_management::DataCollectionPtr &ptr);
309 void add(Step2MasterInputId
id,
const PartialResultPtr &partialResult);
315 size_t getNumberOfFeatures()
const DAAL_C11_OVERRIDE;
321 size_t getNumberOfDependentVariables()
const DAAL_C11_OVERRIDE;
329 services::Status check(
const daal::algorithms::Parameter *parameter,
int method)
const DAAL_C11_OVERRIDE;
337 class DAAL_EXPORT Result :
public linear_model::training::Result
340 DECLARE_SERIALIZABLE_CAST(Result);
351 template<
typename algorithmFPType>
352 DAAL_EXPORT services::Status allocate(
const daal::algorithms::Input *input,
const Parameter *parameter,
const int method);
362 template<
typename algorithmFPType>
363 DAAL_EXPORT services::Status allocate(
const daal::algorithms::PartialResult *partialResult,
const Parameter *parameter,
const int method);
370 linear_regression::ModelPtr
get(ResultId id)
const;
377 void set(ResultId
id,
const linear_regression::ModelPtr &value);
387 services::Status check(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
397 services::Status check(
const daal::algorithms::PartialResult *pr,
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
401 template<
typename Archive,
bool onDeserialize>
402 services::Status serialImpl(Archive *arch)
404 return daal::algorithms::Result::serialImpl<Archive, onDeserialize>(arch);
407 typedef services::SharedPtr<Result> ResultPtr;
408 typedef services::SharedPtr<const Result> ResultConstPtr;
410 using interface1::InputIface;
411 using interface1::Input;
412 using interface1::DistributedInput;
413 using interface1::PartialResult;
414 using interface1::PartialResultPtr;
415 using interface1::PartialResultConstPtr;
416 using interface1::Result;
417 using interface1::ResultPtr;
418 using interface1::ResultConstPtr;
daal::algorithms::linear_model::training::dependentVariables
Definition: linear_model_training_types.h:56
daal::algorithms::linear_regression::training::interface1::DistributedInput< step2Master >
Input object for linear regression model-based training in the second step of the distributed process...
Definition: linear_regression_training_types.h:283
daal::algorithms::linear_regression::training::qrDense
Definition: linear_regression_training_types.h:60
daal::algorithms::linear_model::training::data
Definition: linear_model_training_types.h:55
daal::algorithms::linear_regression::training::dependentVariables
Definition: linear_regression_training_types.h:70
daal::algorithms::linear_regression::training::PartialResultID
PartialResultID
Available identifiers of a partial result of linear regression model-based training.
Definition: linear_regression_training_types.h:89
daal::algorithms::linear_regression::training::Step2MasterInputId
Step2MasterInputId
Available identifiers of input objects for linear regression model-based training in the second step ...
Definition: linear_regression_training_types.h:79
daal::step2Master
Definition: daal_defines.h:124
daal::algorithms::linear_regression::training::InputId
InputId
Available identifiers of input objects for linear regression model-based training.
Definition: linear_regression_training_types.h:67
daal::algorithms::linear_model::training::model
Definition: linear_model_training_types.h:66
daal::algorithms::linear_regression::training::data
Definition: linear_regression_training_types.h:69
daal::algorithms::linear_regression::training::Method
Method
Computation methods for linear regression model-based training.
Definition: linear_regression_training_types.h:56
daal::algorithms::linear_regression::training::interface1::InputIface::getNumberOfFeatures
virtual size_t getNumberOfFeatures() const =0
daal::algorithms::linear_regression::training::normEqDense
Definition: linear_regression_training_types.h:59
daal::algorithms::linear_regression::training::interface1::Result
Provides methods to access the result obtained with the compute() method of linear regression model-b...
Definition: linear_regression_training_types.h:337
daal::algorithms::linear_regression::training::defaultDense
Definition: linear_regression_training_types.h:58
daal::algorithms::linear_regression::training::partialModel
Definition: linear_regression_training_types.h:91
daal::algorithms::linear_regression::training::interface1::PartialResult
Provides methods to access a partial result obtained with the compute() method of linear regression m...
Definition: linear_regression_training_types.h:194
daal::algorithms::linear_regression::training::interface1::InputIface
Abstract class that specifies the interface of input objects for linear regression model-based traini...
Definition: linear_regression_training_types.h:114
daal::algorithms::linear_regression::training::interface1::DistributedInput
Input object for linear regression model-based training in the distributed processing mode ...
Definition: linear_regression_training_types.h:186
daal::algorithms::linear_regression::training::model
Definition: linear_regression_training_types.h:101
daal::algorithms::linear_regression::training::ResultId
ResultId
Available identifiers of the result of linear regression model-based training.
Definition: linear_regression_training_types.h:99
daal::algorithms::math::abs::value
Definition: abs_types.h:88
daal::algorithms::linear_regression::training::partialModels
Definition: linear_regression_training_types.h:81
daal::algorithms::linear_regression::training::interface1::Input
Input objects for linear regression model-based training
Definition: linear_regression_training_types.h:136
daal::algorithms::linear_regression::training::interface1::InputIface::getNumberOfDependentVariables
virtual size_t getNumberOfDependentVariables() const =0