24 #ifndef __LASSO_REGRESSION_TRAINING_TYPES_H__
25 #define __LASSO_REGRESSION_TRAINING_TYPES_H__
27 #include "algorithms/algorithm.h"
28 #include "data_management/data/numeric_table.h"
29 #include "algorithms/lasso_regression/lasso_regression_model.h"
30 #include "algorithms/linear_model/linear_model_training_types.h"
31 #include "algorithms/optimization_solver/iterative_solver/iterative_solver_batch.h"
40 namespace lasso_regression
68 data = linear_model::training::data,
69 dependentVariables = linear_model::training::dependentVariables,
70 lastInputId = dependentVariables
79 optionalArgument = lastInputId + 1,
80 lastOptionalInputId = optionalArgument
91 lastOptionalData = gramMatrix
98 enum ResultToComputeId
100 computeGramMatrix = 0x00000001ULL
109 model = linear_model::training::model,
117 enum OptionalResultNumericTableId
119 gramMatrixId = lastResultId + 1,
120 lastResultNumericTableId = gramMatrixId
129 enum DataUseInComputation
146 struct DAAL_EXPORT Parameter :
public linear_model::Parameter
148 typedef optimization_solver::iterative_solver::BatchPtr SolverPtr;
150 Parameter(
const SolverPtr& solver = SolverPtr());
151 Parameter(
const Parameter& o): linear_model::Parameter(o),
152 lassoParameters(o.lassoParameters), optimizationSolver(o.optimizationSolver),
153 dataUseInComputation(o.dataUseInComputation), optResultToCompute(o.optResultToCompute){}
155 services::Status check()
const DAAL_C11_OVERRIDE;
157 data_management::NumericTablePtr lassoParameters;
159 SolverPtr optimizationSolver;
161 DataUseInComputation dataUseInComputation;
162 DAAL_UINT64 optResultToCompute;
177 virtual size_t getNumberOfFeatures()
const = 0;
183 virtual size_t getNumberOfDependentVariables()
const = 0;
185 virtual ~InputIface() {}
192 class DAAL_EXPORT Input :
public linear_model::training::Input,
public InputIface
197 Input(
const Input& other);
206 data_management::NumericTablePtr
get(InputId id)
const;
213 void set(InputId
id,
const data_management::NumericTablePtr &value);
220 algorithms::OptionalArgumentPtr
get(OptionalInputId id)
const;
227 void set(OptionalInputId
id,
const algorithms::OptionalArgumentPtr &ptr);
234 data_management::NumericTablePtr
get(OptionalDataId id)
const;
241 void set(OptionalDataId
id,
const data_management::NumericTablePtr &ptr);
247 size_t getNumberOfFeatures()
const DAAL_C11_OVERRIDE;
253 size_t getNumberOfDependentVariables()
const DAAL_C11_OVERRIDE;
262 services::Status check(
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
270 class DAAL_EXPORT Result :
public linear_model::training::Result
273 DECLARE_SERIALIZABLE_CAST(Result);
281 lasso_regression::ModelPtr
get(ResultId id)
const;
288 void set(ResultId
id,
const lasso_regression::ModelPtr &value);
296 data_management::NumericTablePtr
get(OptionalResultNumericTableId id)
const;
303 void set(OptionalResultNumericTableId
id,
const data_management::NumericTablePtr &value);
313 template<
typename algorithmFPType>
314 DAAL_EXPORT services::Status allocate(
const daal::algorithms::Input *input,
const Parameter *parameter,
const int method);
324 services::Status check(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
328 template<
typename Archive,
bool onDeserialize>
329 services::Status serialImpl(Archive *arch)
331 return daal::algorithms::Result::serialImpl<Archive, onDeserialize>(arch);
334 typedef services::SharedPtr<Result> ResultPtr;
335 typedef services::SharedPtr<const Result> ResultConstPtr;
338 using interface1::InputIface;
339 using interface1::Input;
340 using interface1::Parameter;
342 using interface1::Result;
343 using interface1::ResultPtr;
344 using interface1::ResultConstPtr;
daal::algorithms::lasso_regression::training::interface1::Input
Input objects for lasso regression model-based training
Definition: lasso_regression_training_types.h:192
daal::algorithms::linear_model::training::dependentVariables
Definition: linear_model_training_types.h:56
daal::algorithms::linear_model::training::data
Definition: linear_model_training_types.h:55
daal::algorithms::lasso_regression::training::ResultToComputeId
ResultToComputeId
Definition: lasso_regression_training_types.h:98
daal::algorithms::lasso_regression::training::interface1::InputIface::getNumberOfDependentVariables
virtual size_t getNumberOfDependentVariables() const =0
daal::algorithms::lasso_regression::training::gramMatrixId
Definition: lasso_regression_training_types.h:119
daal::algorithms::lasso_regression::training::dependentVariables
Definition: lasso_regression_training_types.h:69
daal::algorithms::lasso_regression::training::weights
Definition: lasso_regression_training_types.h:89
daal::algorithms::linear_model::training::model
Definition: linear_model_training_types.h:66
daal::algorithms::lasso_regression::training::interface1::Parameter::optResultToCompute
DAAL_UINT64 optResultToCompute
Definition: lasso_regression_training_types.h:162
daal::algorithms::lasso_regression::training::interface1::Parameter::dataUseInComputation
DataUseInComputation dataUseInComputation
Definition: lasso_regression_training_types.h:161
daal::algorithms::lasso_regression::training::InputId
InputId
Available identifiers of input objects for lasso regression model-based training. ...
Definition: lasso_regression_training_types.h:66
daal::algorithms::lasso_regression::training::data
Definition: lasso_regression_training_types.h:68
daal::algorithms::lasso_regression::training::OptionalInputId
OptionalInputId
Definition: lasso_regression_training_types.h:77
daal::algorithms::lasso_regression::training::optionalArgument
Definition: lasso_regression_training_types.h:79
daal::algorithms::lasso_regression::training::interface1::Parameter::lassoParameters
data_management::NumericTablePtr lassoParameters
Definition: lasso_regression_training_types.h:157
daal::algorithms::lasso_regression::training::model
Definition: lasso_regression_training_types.h:109
daal::algorithms::lasso_regression::training::defaultDense
Definition: lasso_regression_training_types.h:59
daal::algorithms::lasso_regression::training::OptionalResultNumericTableId
OptionalResultNumericTableId
Definition: lasso_regression_training_types.h:117
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:270
daal::algorithms::lasso_regression::training::DataUseInComputation
DataUseInComputation
Available identifiers for input data corruption.
Definition: lasso_regression_training_types.h:129
daal::algorithms::lasso_regression::training::ResultId
ResultId
Available identifiers of the result of lasso regression model-based training.
Definition: lasso_regression_training_types.h:107
daal::algorithms::lasso_regression::training::doUse
Definition: lasso_regression_training_types.h:132
daal::algorithms::lasso_regression::training::OptionalDataId
OptionalDataId
Definition: lasso_regression_training_types.h:87
daal::algorithms::lasso_regression::training::interface1::Parameter
Parameters for the lasso regression algorithm.
Definition: lasso_regression_training_types.h:146
daal::algorithms::lasso_regression::training::computeGramMatrix
Definition: lasso_regression_training_types.h:100
daal::algorithms::lasso_regression::training::Method
Method
Computation methods for lasso regression model-based training.
Definition: lasso_regression_training_types.h:57
daal::algorithms::math::abs::value
Definition: abs_types.h:88
daal::algorithms::lasso_regression::training::gramMatrix
Definition: lasso_regression_training_types.h:90
daal::algorithms::lasso_regression::training::interface1::Parameter::optimizationSolver
SolverPtr optimizationSolver
Definition: lasso_regression_training_types.h:159
daal::algorithms::lasso_regression::training::interface1::InputIface
Abstract class that specifies the interface of input objects for lasso regression model-based trainin...
Definition: lasso_regression_training_types.h:170
daal::algorithms::lasso_regression::training::doNotUse
Definition: lasso_regression_training_types.h:131
daal::algorithms::lasso_regression::training::interface1::InputIface::getNumberOfFeatures
virtual size_t getNumberOfFeatures() const =0