48 #ifndef __LINEAR_REGRESSION_TRAINING_TYPES_H__
49 #define __LINEAR_REGRESSION_TRAINING_TYPES_H__
51 #include "algorithms/algorithm.h"
52 #include "data_management/data/numeric_table.h"
53 #include "algorithms/linear_regression/linear_regression_model.h"
54 #include "algorithms/linear_model/linear_model_training_types.h"
63 namespace linear_regression
93 data = linear_model::training::data,
94 dependentVariables = linear_model::training::dependentVariables,
95 lastInputId = dependentVariables
103 enum Step2MasterInputId
106 lastStep2MasterInputId = partialModels
116 lastPartialResultID = partialModel
125 model = linear_model::training::model,
145 virtual size_t getNumberOfFeatures()
const = 0;
151 virtual size_t getNumberOfDependentVariables()
const = 0;
153 virtual ~InputIface() {}
160 class DAAL_EXPORT Input :
public linear_model::training::Input,
public InputIface
165 Input(
const Input& other);
174 data_management::NumericTablePtr
get(InputId id)
const;
181 void set(InputId
id,
const data_management::NumericTablePtr &value);
187 size_t getNumberOfFeatures()
const DAAL_C11_OVERRIDE;
193 size_t getNumberOfDependentVariables()
const DAAL_C11_OVERRIDE;
202 services::Status check(
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
209 template<ComputeStep step>
210 class DistributedInput
218 class DAAL_EXPORT PartialResult :
public linear_model::training::PartialResult
221 DECLARE_SERIALIZABLE_CAST(PartialResult);
229 daal::algorithms::linear_regression::ModelPtr
get(PartialResultID id)
const;
235 size_t getNumberOfFeatures()
const;
241 size_t getNumberOfDependentVariables()
const;
248 void set(PartialResultID
id,
const daal::algorithms::linear_regression::ModelPtr &value);
258 template <
typename algorithmFPType>
259 DAAL_EXPORT services::Status allocate(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *parameter,
const int method);
269 template <
typename algorithmFPType>
270 DAAL_EXPORT services::Status initialize(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *parameter,
const int method);
280 services::Status check(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
289 services::Status check(
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
293 template<
typename Archive,
bool onDeserialize>
294 services::Status serialImpl(Archive *arch)
296 return daal::algorithms::PartialResult::serialImpl<Archive, onDeserialize>(arch);
299 typedef services::SharedPtr<PartialResult> PartialResultPtr;
300 typedef services::SharedPtr<const PartialResult> PartialResultConstPtr;
307 template<>
class DAAL_EXPORT DistributedInput<step2Master> :
public daal::algorithms::Input,
public InputIface
310 DistributedInput<step2Master>();
317 data_management::DataCollectionPtr
get(Step2MasterInputId id)
const;
325 void set(Step2MasterInputId
id,
const data_management::DataCollectionPtr &ptr);
333 void add(Step2MasterInputId
id,
const PartialResultPtr &partialResult);
339 size_t getNumberOfFeatures()
const DAAL_C11_OVERRIDE;
345 size_t getNumberOfDependentVariables()
const DAAL_C11_OVERRIDE;
353 services::Status check(
const daal::algorithms::Parameter *parameter,
int method)
const DAAL_C11_OVERRIDE;
361 class DAAL_EXPORT Result :
public linear_model::training::Result
364 DECLARE_SERIALIZABLE_CAST(Result);
375 template<
typename algorithmFPType>
376 DAAL_EXPORT services::Status allocate(
const daal::algorithms::Input *input,
const Parameter *parameter,
const int method);
386 template<
typename algorithmFPType>
387 DAAL_EXPORT services::Status allocate(
const daal::algorithms::PartialResult *partialResult,
const Parameter *parameter,
const int method);
394 linear_regression::ModelPtr
get(ResultId id)
const;
401 void set(ResultId
id,
const linear_regression::ModelPtr &value);
411 services::Status check(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
421 services::Status check(
const daal::algorithms::PartialResult *pr,
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
425 template<
typename Archive,
bool onDeserialize>
426 services::Status serialImpl(Archive *arch)
428 return daal::algorithms::Result::serialImpl<Archive, onDeserialize>(arch);
431 typedef services::SharedPtr<Result> ResultPtr;
432 typedef services::SharedPtr<const Result> ResultConstPtr;
434 using interface1::InputIface;
435 using interface1::Input;
436 using interface1::DistributedInput;
437 using interface1::PartialResult;
438 using interface1::PartialResultPtr;
439 using interface1::PartialResultConstPtr;
440 using interface1::Result;
441 using interface1::ResultPtr;
442 using interface1::ResultConstPtr;
daal::algorithms::linear_regression::training::ResultId
ResultId
Available identifiers of the result of linear regression model-based training.
Definition: linear_regression_training_types.h:123
daal::algorithms::linear_regression::training::partialModel
Definition: linear_regression_training_types.h:115
daal
Definition: algorithm_base_common.h:57
daal::algorithms::linear_regression::training::data
Definition: linear_regression_training_types.h:93
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:113
daal::algorithms::linear_regression::training::normEqDense
Definition: linear_regression_training_types.h:83
daal::algorithms::linear_regression::training::partialModels
Definition: linear_regression_training_types.h:105
daal::algorithms::linear_regression::training::defaultDense
Definition: linear_regression_training_types.h:82
daal::algorithms::linear_regression::training::InputId
InputId
Available identifiers of input objects for linear regression model-based training.
Definition: linear_regression_training_types.h:91
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:361
daal::algorithms::linear_regression::training::qrDense
Definition: linear_regression_training_types.h:84
daal::algorithms::linear_model::training::dependentVariables
Definition: linear_model_training_types.h:80
daal::algorithms::linear_regression::training::model
Definition: linear_regression_training_types.h:125
daal::algorithms::linear_regression::training::dependentVariables
Definition: linear_regression_training_types.h:94
daal::algorithms::linear_model::training::model
Definition: linear_model_training_types.h:90
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:218
daal::algorithms::linear_model::training::data
Definition: linear_model_training_types.h:79
daal::algorithms::linear_regression::training::Method
Method
Computation methods for linear regression model-based training.
Definition: linear_regression_training_types.h:80
daal::algorithms::math::abs::value
Definition: abs_types.h:112
daal::step2Master
Definition: daal_defines.h:143
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:103