22 #ifndef __RIDGE_REGRESSION_TRAINING_TYPES_H__
23 #define __RIDGE_REGRESSION_TRAINING_TYPES_H__
25 #include "algorithms/algorithm.h"
26 #include "data_management/data/numeric_table.h"
27 #include "algorithms/ridge_regression/ridge_regression_model.h"
28 #include "algorithms/linear_model/linear_model_training_types.h"
37 namespace ridge_regression
66 data = linear_model::training::data,
67 dependentVariables = linear_model::training::dependentVariables,
68 lastInputId = dependentVariables
75 enum Step2MasterInputId
78 lastStep2MasterInputId = partialModels
88 lastPartialResultID = partialModel
97 model = linear_model::training::model,
117 virtual size_t getNumberOfFeatures()
const = 0;
123 virtual size_t getNumberOfDependentVariables()
const = 0;
125 virtual ~InputIface() {}
132 class DAAL_EXPORT Input :
public linear_model::training::Input,
public InputIface
137 Input(
const Input& other);
146 data_management::NumericTablePtr
get(InputId id)
const;
153 void set(InputId
id,
const data_management::NumericTablePtr &value);
159 size_t getNumberOfFeatures()
const DAAL_C11_OVERRIDE;
165 size_t getNumberOfDependentVariables()
const DAAL_C11_OVERRIDE;
174 services::Status check(
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
181 template<ComputeStep step>
182 class DistributedInput
190 class DAAL_EXPORT PartialResult :
public linear_model::training::PartialResult
193 DECLARE_SERIALIZABLE_CAST(PartialResult);
201 daal::algorithms::ridge_regression::ModelPtr
get(PartialResultID id)
const;
207 size_t getNumberOfFeatures()
const;
213 size_t getNumberOfDependentVariables()
const;
220 void set(PartialResultID
id,
const daal::algorithms::ridge_regression::ModelPtr &value);
230 template <
typename algorithmFPType>
231 DAAL_EXPORT services::Status allocate(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *parameter,
const int method);
241 template <
typename algorithmFPType>
242 DAAL_EXPORT services::Status initialize(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *parameter,
const int method);
252 services::Status check(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
261 services::Status check(
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
265 template<
typename Archive,
bool onDeserialize>
266 services::Status serialImpl(Archive *arch)
268 return daal::algorithms::PartialResult::serialImpl<Archive, onDeserialize>(arch);
271 typedef services::SharedPtr<PartialResult> PartialResultPtr;
272 typedef services::SharedPtr<const PartialResult> PartialResultConstPtr;
278 template<>
class DAAL_EXPORT DistributedInput<step2Master> :
public daal::algorithms::Input,
public InputIface
282 DistributedInput(
const DistributedInput& other);
289 data_management::DataCollectionPtr
get(Step2MasterInputId id)
const;
296 void set(Step2MasterInputId
id,
const data_management::DataCollectionPtr &ptr);
303 void add(Step2MasterInputId
id,
const PartialResultPtr &partialResult);
309 size_t getNumberOfFeatures()
const DAAL_C11_OVERRIDE;
315 size_t getNumberOfDependentVariables()
const DAAL_C11_OVERRIDE;
323 services::Status check(
const daal::algorithms::Parameter *parameter,
int method)
const DAAL_C11_OVERRIDE;
332 class DAAL_EXPORT Result :
public linear_model::training::Result
335 DECLARE_SERIALIZABLE_CAST(Result);
343 ridge_regression::ModelPtr
get(ResultId id)
const;
350 void set(ResultId
id,
const ridge_regression::ModelPtr &value);
360 template<
typename algorithmFPType>
361 DAAL_EXPORT services::Status allocate(
const daal::algorithms::Input *input,
const Parameter *parameter,
const int method);
371 template<
typename algorithmFPType>
372 DAAL_EXPORT services::Status allocate(
const daal::algorithms::PartialResult *partialResult,
const Parameter *parameter,
int method);
382 services::Status check(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
392 services::Status check(
const daal::algorithms::PartialResult *pr,
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
396 template<
typename Archive,
bool onDeserialize>
397 services::Status serialImpl(Archive *arch)
399 return daal::algorithms::Result::serialImpl<Archive, onDeserialize>(arch);
402 typedef services::SharedPtr<Result> ResultPtr;
403 typedef services::SharedPtr<const Result> ResultConstPtr;
406 using interface1::InputIface;
407 using interface1::Input;
408 using interface1::DistributedInput;
409 using interface1::PartialResult;
410 using interface1::PartialResultPtr;
411 using interface1::PartialResultConstPtr;
412 using interface1::Result;
413 using interface1::ResultPtr;
414 using interface1::ResultConstPtr;
daal::algorithms::ridge_regression::training::model
Definition: ridge_regression_training_types.h:97
daal::algorithms::ridge_regression::training::interface1::InputIface::getNumberOfFeatures
virtual size_t getNumberOfFeatures() const =0
daal
Definition: algorithm_base_common.h:31
daal::algorithms::ridge_regression::training::Step2MasterInputId
Step2MasterInputId
Available identifiers of input objects for ridge regression model-based training in the second step o...
Definition: ridge_regression_training_types.h:75
daal::algorithms::ridge_regression::training::ResultId
ResultId
Available identifiers of the result of ridge regression model-based training.
Definition: ridge_regression_training_types.h:95
daal::algorithms::ridge_regression::training::interface1::InputIface::getNumberOfDependentVariables
virtual size_t getNumberOfDependentVariables() const =0
daal::algorithms::ridge_regression::training::interface1::PartialResult
Provides methods to access a partial result obtained with the compute() method of ridge regression mo...
Definition: ridge_regression_training_types.h:190
daal::algorithms::ridge_regression::training::InputId
InputId
Available identifiers of input objects for ridge regression model-based training. ...
Definition: ridge_regression_training_types.h:64
daal::algorithms::ridge_regression::training::defaultDense
Definition: ridge_regression_training_types.h:56
daal::algorithms::ridge_regression::training::PartialResultID
PartialResultID
Available identifiers of a partial result of ridge regression model-based training.
Definition: ridge_regression_training_types.h:85
daal::algorithms::linear_model::training::dependentVariables
Definition: linear_model_training_types.h:54
daal::algorithms::linear_model::training::model
Definition: linear_model_training_types.h:64
daal::algorithms::linear_model::training::data
Definition: linear_model_training_types.h:53
daal::algorithms::ridge_regression::training::Method
Method
Computation methods for ridge regression model-based training.
Definition: ridge_regression_training_types.h:54
daal::algorithms::math::abs::value
Definition: abs_types.h:86
daal::algorithms::ridge_regression::training::dependentVariables
Definition: ridge_regression_training_types.h:67
daal::step2Master
Definition: daal_defines.h:118
daal::algorithms::ridge_regression::training::partialModel
Definition: ridge_regression_training_types.h:87
daal::algorithms::ridge_regression::training::interface1::Result
Provides methods to access the result obtained with the compute() method of ridge regression model-ba...
Definition: ridge_regression_training_types.h:332
daal::algorithms::ridge_regression::training::partialModels
Definition: ridge_regression_training_types.h:77
daal::algorithms::ridge_regression::training::data
Definition: ridge_regression_training_types.h:66
daal::algorithms::ridge_regression::training::normEqDense
Definition: ridge_regression_training_types.h:57