24 #ifndef __ELASTIC_NET_TRAINING_TYPES_H__
25 #define __ELASTIC_NET_TRAINING_TYPES_H__
27 #include "algorithms/algorithm.h"
28 #include "data_management/data/numeric_table.h"
29 #include "algorithms/elastic_net/elastic_net_model.h"
30 #include "algorithms/linear_model/linear_model_training_types.h"
31 #include "algorithms/optimization_solver/iterative_solver/iterative_solver_batch.h"
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
127 enum DataUseInComputation
143 struct DAAL_EXPORT Parameter :
public linear_model::Parameter
145 typedef optimization_solver::iterative_solver::BatchPtr SolverPtr;
147 Parameter(
const SolverPtr & solver = SolverPtr());
148 Parameter(
const Parameter & o)
149 : linear_model::Parameter(o),
150 penaltyL1(o.penaltyL1),
151 penaltyL2(o.penaltyL2),
152 optimizationSolver(o.optimizationSolver),
153 dataUseInComputation(o.dataUseInComputation),
154 optResultToCompute(o.optResultToCompute)
157 services::Status check()
const DAAL_C11_OVERRIDE;
159 data_management::NumericTablePtr penaltyL1;
160 data_management::NumericTablePtr penaltyL2;
162 SolverPtr optimizationSolver;
164 DataUseInComputation dataUseInComputation;
165 DAAL_UINT64 optResultToCompute;
180 virtual size_t getNumberOfFeatures()
const = 0;
186 virtual size_t getNumberOfDependentVariables()
const = 0;
188 virtual ~InputIface() {}
195 class DAAL_EXPORT Input :
public linear_model::training::Input,
public InputIface
200 Input(
const Input & other);
209 data_management::NumericTablePtr
get(InputId id)
const;
216 void set(InputId
id,
const data_management::NumericTablePtr & value);
223 algorithms::OptionalArgumentPtr
get(OptionalInputId id)
const;
230 void set(OptionalInputId
id,
const algorithms::OptionalArgumentPtr & ptr);
237 data_management::NumericTablePtr
get(OptionalDataId id)
const;
244 void set(OptionalDataId
id,
const data_management::NumericTablePtr & ptr);
250 size_t getNumberOfFeatures()
const DAAL_C11_OVERRIDE;
256 size_t getNumberOfDependentVariables()
const DAAL_C11_OVERRIDE;
265 services::Status check(
const daal::algorithms::Parameter * par,
int method)
const DAAL_C11_OVERRIDE;
273 class DAAL_EXPORT Result :
public linear_model::training::Result
276 DECLARE_SERIALIZABLE_CAST(Result);
284 elastic_net::ModelPtr
get(ResultId id)
const;
291 void set(ResultId
id,
const elastic_net::ModelPtr & value);
298 data_management::NumericTablePtr
get(OptionalResultNumericTableId id)
const;
305 void set(OptionalResultNumericTableId
id,
const data_management::NumericTablePtr & value);
315 template <
typename algorithmFPType>
316 DAAL_EXPORT services::Status allocate(
const daal::algorithms::Input * input,
const Parameter * parameter,
const int method);
326 services::Status check(
const daal::algorithms::Input * input,
const daal::algorithms::Parameter * par,
int method)
const DAAL_C11_OVERRIDE;
330 template <
typename Archive,
bool onDeserialize>
331 services::Status serialImpl(Archive * arch)
333 return daal::algorithms::Result::serialImpl<Archive, onDeserialize>(arch);
336 typedef services::SharedPtr<Result> ResultPtr;
337 typedef services::SharedPtr<const Result> ResultConstPtr;
340 using interface1::InputIface;
341 using interface1::Input;
342 using interface1::Parameter;
344 using interface1::Result;
345 using interface1::ResultPtr;
346 using interface1::ResultConstPtr;
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::elastic_net::training::interface1::Parameter
Parameters for the elastic net algorithm.
Definition: elastic_net_training_types.h:143
daal::algorithms::elastic_net::training::data
Definition: elastic_net_training_types.h:68
daal::algorithms::elastic_net::training::ResultToComputeId
ResultToComputeId
Definition: elastic_net_training_types.h:98
daal::algorithms::elastic_net::training::ResultId
ResultId
Available identifiers of the result of elastic net model-based training.
Definition: elastic_net_training_types.h:107
daal::algorithms::elastic_net::training::interface1::InputIface
Abstract class that specifies the interface of input objects for elastic net model-based training...
Definition: elastic_net_training_types.h:173
daal::algorithms::elastic_net::training::OptionalDataId
OptionalDataId
Definition: elastic_net_training_types.h:87
daal::algorithms::elastic_net::training::interface1::Parameter::optResultToCompute
DAAL_UINT64 optResultToCompute
Definition: elastic_net_training_types.h:165
daal::algorithms::elastic_net::training::dependentVariables
Definition: elastic_net_training_types.h:69
daal::algorithms::elastic_net::training::OptionalResultNumericTableId
OptionalResultNumericTableId
Definition: elastic_net_training_types.h:117
daal::algorithms::linear_model::training::model
Definition: linear_model_training_types.h:66
daal::algorithms::elastic_net::training::interface1::Parameter::penaltyL2
data_management::NumericTablePtr penaltyL2
Definition: elastic_net_training_types.h:160
daal::algorithms::elastic_net::training::gramMatrixId
Definition: elastic_net_training_types.h:119
daal::algorithms::elastic_net::training::OptionalInputId
OptionalInputId
Definition: elastic_net_training_types.h:77
daal::algorithms::elastic_net::training::model
Definition: elastic_net_training_types.h:109
daal::algorithms::elastic_net::training::weights
Definition: elastic_net_training_types.h:89
daal::algorithms::elastic_net::training::interface1::InputIface::getNumberOfDependentVariables
virtual size_t getNumberOfDependentVariables() const =0
daal::algorithms::elastic_net::training::interface1::Parameter::optimizationSolver
SolverPtr optimizationSolver
Definition: elastic_net_training_types.h:162
daal::algorithms::elastic_net::training::optionalArgument
Definition: elastic_net_training_types.h:79
daal::algorithms::elastic_net::training::doNotUse
Definition: elastic_net_training_types.h:129
daal::algorithms::elastic_net::training::defaultDense
Definition: elastic_net_training_types.h:59
daal::algorithms::elastic_net::training::InputId
InputId
Available identifiers of input objects for elastic net model-based training.
Definition: elastic_net_training_types.h:66
daal::algorithms::elastic_net::training::gramMatrix
Definition: elastic_net_training_types.h:90
daal::algorithms::elastic_net::training::computeGramMatrix
Definition: elastic_net_training_types.h:100
daal::algorithms::elastic_net::training::interface1::Input
Input objects for elastic net model-based training
Definition: elastic_net_training_types.h:195
daal::algorithms::elastic_net::training::interface1::Parameter::penaltyL1
data_management::NumericTablePtr penaltyL1
Definition: elastic_net_training_types.h:159
daal::algorithms::elastic_net::training::interface1::Result
Provides methods to access the result obtained with the compute() method of elastic net model-based t...
Definition: elastic_net_training_types.h:273
daal::algorithms::math::abs::value
Definition: abs_types.h:88
daal::algorithms::elastic_net::training::interface1::Parameter::dataUseInComputation
DataUseInComputation dataUseInComputation
Definition: elastic_net_training_types.h:164
daal::algorithms::elastic_net::training::doUse
Definition: elastic_net_training_types.h:130
daal::algorithms::elastic_net::training::Method
Method
Computation methods for elastic net model-based training.
Definition: elastic_net_training_types.h:57
daal::algorithms::elastic_net::training::interface1::InputIface::getNumberOfFeatures
virtual size_t getNumberOfFeatures() const =0
daal::algorithms::elastic_net::training::DataUseInComputation
DataUseInComputation
Available identifiers for input data corruption.
Definition: elastic_net_training_types.h:127