24 #ifndef __LINEAR_REGRESSION_SINGLE_BETA_TYPES_H__
25 #define __LINEAR_REGRESSION_SINGLE_BETA_TYPES_H__
27 #include "services/daal_shared_ptr.h"
28 #include "algorithms/algorithm.h"
29 #include "algorithms/linear_regression/linear_regression_model.h"
30 #include "data_management/data/homogen_numeric_table.h"
36 namespace linear_regression
38 namespace quality_metric
66 lastDataInputId = predictedResponses
75 model = lastDataInputId + 1,
76 lastModelInputId = model
90 lastResultId = inverseOfXtX
97 enum ResultDataCollectionId
99 betaCovariances = lastResultId + 1,
100 lastResultDataCollectionId = betaCovariances
116 struct DAAL_EXPORT Parameter:
public daal::algorithms::Parameter
118 Parameter(
double alphaVal = 0.05,
double accuracyVal = 0.001);
119 virtual ~Parameter() {}
122 double accuracyThreshold;
128 virtual services::Status check()
const;
136 class DAAL_EXPORT Input:
public daal::algorithms::Input
139 DAAL_CAST_OPERATOR(Input);
140 DAAL_DOWN_CAST_OPERATOR(Input, daal::algorithms::Input);
152 data_management::NumericTablePtr
get(DataInputId id)
const;
159 void set(DataInputId
id,
const data_management::NumericTablePtr &value);
166 linear_regression::ModelPtr
get(ModelInputId id)
const;
173 void set(ModelInputId
id,
const linear_regression::ModelPtr &value);
182 services::Status check(
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
184 typedef services::SharedPtr<Input> InputPtr;
190 class DAAL_EXPORT Result:
public daal::algorithms::Result
193 DAAL_CAST_OPERATOR(Result);
194 DAAL_DOWN_CAST_OPERATOR(Result, daal::algorithms::Result);
203 data_management::NumericTablePtr
get(ResultId id)
const;
210 void set(ResultId
id,
const data_management::NumericTablePtr &value);
217 data_management::DataCollectionPtr
get(ResultDataCollectionId id)
const;
225 data_management::NumericTablePtr
get(ResultDataCollectionId id,
size_t index)
const;
232 void set(ResultDataCollectionId
id,
const data_management::DataCollectionPtr &value);
242 template <
typename algorithmFPType>
243 DAAL_EXPORT services::Status allocate(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *par,
const int method);
253 services::Status check(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
258 int getSerializationTag() const DAAL_C11_OVERRIDE {
return SERIALIZATION_LINEAR_REGRESSION_SINGLE_BETA_RESULT_ID; }
262 template<
typename Archive,
bool onDeserialize>
263 services::Status serialImpl(Archive *arch)
265 daal::algorithms::Result::serialImpl<Archive, onDeserialize>(arch);
267 return services::Status();
270 services::Status serializeImpl(data_management::InputDataArchive *arch) DAAL_C11_OVERRIDE
272 serialImpl<data_management::InputDataArchive, false>(arch);
274 return services::Status();
277 services::Status deserializeImpl(
const data_management::OutputDataArchive *arch) DAAL_C11_OVERRIDE
279 serialImpl<const data_management::OutputDataArchive, true>(arch);
281 return services::Status();
284 typedef services::SharedPtr<Result> ResultPtr;
287 using interface1::Parameter;
288 using interface1::Result;
289 using interface1::ResultPtr;
290 using interface1::Input;
291 using interface1::InputPtr;
300 #endif // __LINEAR_REGRESSION_SINGLE_BETA_TYPES_H__
daal::algorithms::linear_regression::quality_metric::single_beta::interface1::Parameter::alpha
double alpha
Definition: linear_regression_single_beta_types.h:121
daal::algorithms::linear_regression::quality_metric::single_beta::rms
Definition: linear_regression_single_beta_types.h:85
daal::algorithms::linear_regression::quality_metric::single_beta::interface1::Parameter
Parameters for the compute() method of single beta quality metrics.
Definition: linear_regression_single_beta_types.h:116
daal::algorithms::linear_regression::quality_metric::single_beta::DataInputId
DataInputId
Available identifiers of input objects for a single beta quality metrics.
Definition: linear_regression_single_beta_types.h:62
daal::algorithms::linear_regression::quality_metric::single_beta::predictedResponses
Definition: linear_regression_single_beta_types.h:65
daal::algorithms::linear_regression::quality_metric::single_beta::zScore
Definition: linear_regression_single_beta_types.h:87
daal::algorithms::linear_regression::quality_metric::single_beta::interface1::Result
Provides interface for the result of linear regression quality metrics.
Definition: linear_regression_single_beta_types.h:190
daal::algorithms::linear_regression::quality_metric::single_beta::inverseOfXtX
Definition: linear_regression_single_beta_types.h:89
daal::algorithms::linear_regression::quality_metric::single_beta::ResultDataCollectionId
ResultDataCollectionId
Available identifiers of the result of single beta quality metrics.
Definition: linear_regression_single_beta_types.h:97
daal::algorithms::linear_regression::quality_metric::single_beta::expectedResponses
Definition: linear_regression_single_beta_types.h:64
daal::algorithms::linear_regression::quality_metric::single_beta::confidenceIntervals
Definition: linear_regression_single_beta_types.h:88
daal::algorithms::linear_regression::quality_metric::single_beta::betaCovariances
Definition: linear_regression_single_beta_types.h:99
daal::algorithms::linear_regression::quality_metric::single_beta::interface1::Input
Input objects for single beta quality metrics
Definition: linear_regression_single_beta_types.h:136
daal::algorithms::linear_regression::quality_metric::single_beta::defaultDense
Definition: linear_regression_single_beta_types.h:55
daal::algorithms::linear_regression::quality_metric::single_beta::interface1::Result::getSerializationTag
int getSerializationTag() const DAAL_C11_OVERRIDE
Definition: linear_regression_single_beta_types.h:258
daal::algorithms::linear_regression::quality_metric::single_beta::ResultId
ResultId
Available identifiers of the result of single beta quality metrics.
Definition: linear_regression_single_beta_types.h:83
daal::algorithms::linear_regression::quality_metric::single_beta::Method
Method
Definition: linear_regression_single_beta_types.h:53
daal::algorithms::math::abs::value
Definition: abs_types.h:88
daal::algorithms::linear_regression::quality_metric::single_beta::model
Definition: linear_regression_single_beta_types.h:75
daal::algorithms::linear_regression::quality_metric::single_beta::variance
Definition: linear_regression_single_beta_types.h:86
daal::algorithms::linear_regression::quality_metric::single_beta::ModelInputId
ModelInputId
Available identifiers of input objects for single beta quality metrics.
Definition: linear_regression_single_beta_types.h:73
daal::algorithms::linear_regression::quality_metric::single_beta::interface1::Parameter::accuracyThreshold
double accuracyThreshold
Definition: linear_regression_single_beta_types.h:122