22 #ifndef __LASSO_REGRESSION_TRAINING_TYPES_H__
23 #define __LASSO_REGRESSION_TRAINING_TYPES_H__
25 #include "algorithms/algorithm.h"
26 #include "data_management/data/numeric_table.h"
27 #include "algorithms/lasso_regression/lasso_regression_model.h"
28 #include "algorithms/linear_model/linear_model_training_types.h"
29 #include "algorithms/optimization_solver/iterative_solver/iterative_solver_batch.h"
38 namespace lasso_regression
66 data = linear_model::training::data,
67 dependentVariables = linear_model::training::dependentVariables,
68 lastInputId = dependentVariables
77 optionalArgument = lastInputId + 1,
78 lastOptionalInputId = optionalArgument
89 lastOptionalData = gramMatrix
96 enum ResultToComputeId
98 computeGramMatrix = 0x00000001ULL
107 model = linear_model::training::model,
115 enum OptionalResultNumericTableId
117 gramMatrixId = lastResultId + 1,
118 lastResultNumericTableId = gramMatrixId
127 enum DataUseInComputation
144 struct DAAL_EXPORT Parameter :
public linear_model::Parameter
146 typedef optimization_solver::iterative_solver::BatchPtr SolverPtr;
148 Parameter(
const SolverPtr& solver = SolverPtr());
149 Parameter(
const Parameter& o): linear_model::Parameter(o),
150 lassoParameters(o.lassoParameters), optimizationSolver(o.optimizationSolver),
151 dataUseInComputation(o.dataUseInComputation), optResultToCompute(o.optResultToCompute){}
153 services::Status check()
const DAAL_C11_OVERRIDE;
155 data_management::NumericTablePtr lassoParameters;
157 SolverPtr optimizationSolver;
159 DataUseInComputation dataUseInComputation;
160 DAAL_UINT64 optResultToCompute;
175 virtual size_t getNumberOfFeatures()
const = 0;
181 virtual size_t getNumberOfDependentVariables()
const = 0;
183 virtual ~InputIface() {}
190 class DAAL_EXPORT Input :
public linear_model::training::Input,
public InputIface
195 Input(
const Input& other);
204 data_management::NumericTablePtr
get(InputId id)
const;
211 void set(InputId
id,
const data_management::NumericTablePtr &value);
218 algorithms::OptionalArgumentPtr
get(OptionalInputId id)
const;
225 void set(OptionalInputId
id,
const algorithms::OptionalArgumentPtr &ptr);
232 data_management::NumericTablePtr
get(OptionalDataId id)
const;
239 void set(OptionalDataId
id,
const data_management::NumericTablePtr &ptr);
245 size_t getNumberOfFeatures()
const DAAL_C11_OVERRIDE;
251 size_t getNumberOfDependentVariables()
const DAAL_C11_OVERRIDE;
260 services::Status check(
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
268 class DAAL_EXPORT Result :
public linear_model::training::Result
271 DECLARE_SERIALIZABLE_CAST(Result);
279 lasso_regression::ModelPtr
get(ResultId id)
const;
286 void set(ResultId
id,
const lasso_regression::ModelPtr &value);
294 data_management::NumericTablePtr
get(OptionalResultNumericTableId id)
const;
301 void set(OptionalResultNumericTableId
id,
const data_management::NumericTablePtr &value);
311 template<
typename algorithmFPType>
312 DAAL_EXPORT services::Status allocate(
const daal::algorithms::Input *input,
const Parameter *parameter,
const int method);
322 services::Status check(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
326 template<
typename Archive,
bool onDeserialize>
327 services::Status serialImpl(Archive *arch)
329 return daal::algorithms::Result::serialImpl<Archive, onDeserialize>(arch);
332 typedef services::SharedPtr<Result> ResultPtr;
333 typedef services::SharedPtr<const Result> ResultConstPtr;
336 using interface1::InputIface;
337 using interface1::Input;
338 using interface1::Parameter;
340 using interface1::Result;
341 using interface1::ResultPtr;
342 using interface1::ResultConstPtr;
daal::algorithms::lasso_regression::training::dependentVariables
Definition: lasso_regression_training_types.h:67
daal::algorithms::lasso_regression::training::gramMatrix
Definition: lasso_regression_training_types.h:88
daal::algorithms::lasso_regression::training::optionalArgument
Definition: lasso_regression_training_types.h:77
daal
Definition: algorithm_base_common.h:31
daal::algorithms::lasso_regression::training::interface1::Parameter
Parameters for the lasso regression algorithm.
Definition: lasso_regression_training_types.h:144
daal::algorithms::lasso_regression::training::ResultId
ResultId
Available identifiers of the result of lasso regression model-based training.
Definition: lasso_regression_training_types.h:105
daal::algorithms::lasso_regression::training::interface1::Result
Provides methods to access the result obtained with the compute() method of lasso regression model-ba...
Definition: lasso_regression_training_types.h:268
daal::algorithms::lasso_regression::training::interface1::Parameter::optimizationSolver
SolverPtr optimizationSolver
Definition: lasso_regression_training_types.h:157
daal::algorithms::lasso_regression::training::doUse
Definition: lasso_regression_training_types.h:130
daal::algorithms::lasso_regression::training::OptionalDataId
OptionalDataId
Definition: lasso_regression_training_types.h:85
daal::algorithms::lasso_regression::training::DataUseInComputation
DataUseInComputation
Available identifiers for input data corruption.
Definition: lasso_regression_training_types.h:127
daal::algorithms::lasso_regression::training::weights
Definition: lasso_regression_training_types.h:87
daal::algorithms::lasso_regression::training::OptionalInputId
OptionalInputId
Definition: lasso_regression_training_types.h:75
daal::algorithms::lasso_regression::training::interface1::InputIface::getNumberOfFeatures
virtual size_t getNumberOfFeatures() const =0
daal::algorithms::lasso_regression::training::interface1::Parameter::dataUseInComputation
DataUseInComputation dataUseInComputation
Definition: lasso_regression_training_types.h:159
daal::algorithms::lasso_regression::training::InputId
InputId
Available identifiers of input objects for lasso regression model-based training. ...
Definition: lasso_regression_training_types.h:64
daal::algorithms::lasso_regression::training::interface1::Parameter::optResultToCompute
DAAL_UINT64 optResultToCompute
Definition: lasso_regression_training_types.h:160
daal::algorithms::linear_model::training::dependentVariables
Definition: linear_model_training_types.h:54
daal::algorithms::lasso_regression::training::gramMatrixId
Definition: lasso_regression_training_types.h:117
daal::algorithms::lasso_regression::training::OptionalResultNumericTableId
OptionalResultNumericTableId
Definition: lasso_regression_training_types.h:115
daal::algorithms::linear_model::training::model
Definition: linear_model_training_types.h:64
daal::algorithms::lasso_regression::training::Method
Method
Computation methods for lasso regression model-based training.
Definition: lasso_regression_training_types.h:55
daal::algorithms::linear_model::training::data
Definition: linear_model_training_types.h:53
daal::algorithms::lasso_regression::training::data
Definition: lasso_regression_training_types.h:66
daal::algorithms::lasso_regression::training::doNotUse
Definition: lasso_regression_training_types.h:129
daal::algorithms::math::abs::value
Definition: abs_types.h:86
daal::algorithms::lasso_regression::training::computeGramMatrix
Definition: lasso_regression_training_types.h:98
daal::algorithms::lasso_regression::training::ResultToComputeId
ResultToComputeId
Definition: lasso_regression_training_types.h:96
daal::algorithms::lasso_regression::training::interface1::InputIface::getNumberOfDependentVariables
virtual size_t getNumberOfDependentVariables() const =0
daal::algorithms::lasso_regression::training::interface1::Parameter::lassoParameters
data_management::NumericTablePtr lassoParameters
Definition: lasso_regression_training_types.h:155
daal::algorithms::lasso_regression::training::defaultDense
Definition: lasso_regression_training_types.h:57
daal::algorithms::lasso_regression::training::model
Definition: lasso_regression_training_types.h:107