C++ API Reference for Intel® Data Analytics Acceleration Library 2018 Update 3

pca_explained_variance_types.h
1 /* file: pca_explained_variance_types.h */
2 /*******************************************************************************
3 * Copyright 2014-2018 Intel Corporation.
4 *
5 * This software and the related documents are Intel copyrighted materials, and
6 * your use of them is governed by the express license under which they were
7 * provided to you (License). Unless the License provides otherwise, you may not
8 * use, modify, copy, publish, distribute, disclose or transmit this software or
9 * the related documents without Intel's prior written permission.
10 *
11 * This software and the related documents are provided as is, with no express
12 * or implied warranties, other than those that are expressly stated in the
13 * License.
14 *******************************************************************************/
15 
16 /*
17 //++
18 // Interface for the linear regression algorithm quality metrics for a explained variance
19 //--
20 */
21 
22 #ifndef __PCA_QUALITY_METRIC_TYPES_H__
23 #define __PCA_QUALITY_METRIC_TYPES_H__
24 
25 #include "services/daal_shared_ptr.h"
26 #include "algorithms/algorithm.h"
27 #include "data_management/data/homogen_numeric_table.h"
28 
29 namespace daal
30 {
31 namespace algorithms
32 {
33 namespace pca
34 {
35 namespace quality_metric
36 {
43 namespace explained_variance
44 {
45 
50 enum Method
51 {
52  defaultDense = 0
53 };
54 
59 enum InputId
60 {
61  eigenvalues,
62  lastInputId = eigenvalues
63 };
64 
69 enum ResultId
70 {
71  explainedVariances,
72  explainedVariancesRatios,
73  noiseVariance,
74  lastResultId = noiseVariance
75 };
76 
80 namespace interface1
81 {
82 
89 /* [Parameter source code] */
90 struct DAAL_EXPORT Parameter: public daal::algorithms::Parameter
91 {
92  Parameter(size_t nFeatures, size_t nComponents);
93  virtual ~Parameter() {}
94 
95  size_t nFeatures;
96  size_t nComponents;
103  virtual services::Status check() const;
104 };
105 /* [Parameter source code] */
106 
111 class DAAL_EXPORT Input: public daal::algorithms::Input
112 {
113 public:
114  DAAL_CAST_OPERATOR(Input);
115  DAAL_DOWN_CAST_OPERATOR(Input, daal::algorithms::Input);
116 
118  Input();
119 
120  virtual ~Input() {}
121 
127  data_management::NumericTablePtr get(InputId id) const;
128 
134  void set(InputId id, const data_management::NumericTablePtr &value);
135 
143  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
144 };
145 typedef services::SharedPtr<Input> InputPtr;
146 
151 class DAAL_EXPORT Result: public daal::algorithms::Result
152 {
153 public:
154  DECLARE_SERIALIZABLE_CAST(Result);
155  DAAL_DOWN_CAST_OPERATOR(Result, daal::algorithms::Result);
156 
157  Result();
158 
164  data_management::NumericTablePtr get(ResultId id) const;
165 
171  void set(ResultId id, const data_management::NumericTablePtr &value);
172 
181  template <typename algorithmFPType>
182  DAAL_EXPORT services::Status allocate(const daal::algorithms::Input *input, const daal::algorithms::Parameter *par, const int method);
183 
192  services::Status check(const daal::algorithms::Input *input, const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
193 
194 protected:
196  template<typename Archive, bool onDeserialize>
197  services::Status serialImpl(Archive *arch)
198  {
199  return daal::algorithms::Result::serialImpl<Archive, onDeserialize>(arch);
200  }
201 };
202 typedef services::SharedPtr<Result> ResultPtr;
203 
204 }
205 using interface1::Parameter;
206 using interface1::Result;
207 using interface1::ResultPtr;
208 using interface1::Input;
209 using interface1::InputPtr;
210 
211 }
213 }
214 }
215 }
216 }
217 
218 #endif // __PCA_QUALITY_METRIC_TYPES_H__
daal
Definition: algorithm_base_common.h:31
daal::algorithms::pca::quality_metric::explained_variance::Method
Method
Definition: pca_explained_variance_types.h:50
daal::algorithms::pca::quality_metric::explained_variance::ResultId
ResultId
Available identifiers of the result of explained variance quality metrics.
Definition: pca_explained_variance_types.h:69
daal::algorithms::pca::quality_metric::explained_variance::InputId
InputId
Available identifiers of input objects for a explained variance quality metrics.
Definition: pca_explained_variance_types.h:59
daal::algorithms::pca::quality_metric::explained_variance::interface1::Parameter
Parameters for the compute() method of explained variance quality metrics.
Definition: pca_explained_variance_types.h:90
daal::algorithms::pca::quality_metric::explained_variance::interface1::Parameter::nComponents
size_t nComponents
Definition: pca_explained_variance_types.h:96
daal::algorithms::pca::quality_metric::explained_variance::explainedVariances
Definition: pca_explained_variance_types.h:71
daal::algorithms::pca::quality_metric::explained_variance::defaultDense
Definition: pca_explained_variance_types.h:52
daal::algorithms::pca::quality_metric::explained_variance::noiseVariance
Definition: pca_explained_variance_types.h:73
daal::algorithms::pca::quality_metric::explained_variance::interface1::Input
Input objects for explained variance quality metrics
Definition: pca_explained_variance_types.h:111
daal::algorithms::pca::quality_metric::explained_variance::eigenvalues
Definition: pca_explained_variance_types.h:61
daal::algorithms::math::abs::value
Definition: abs_types.h:86
daal::algorithms::pca::quality_metric::explained_variance::explainedVariancesRatios
Definition: pca_explained_variance_types.h:72
daal::algorithms::pca::quality_metric::explained_variance::interface1::Result
Provides interface for the result of linear regression quality metrics.
Definition: pca_explained_variance_types.h:151
daal::algorithms::pca::quality_metric::explained_variance::interface1::Parameter::nFeatures
size_t nFeatures
Definition: pca_explained_variance_types.h:95

For more complete information about compiler optimizations, see our Optimization Notice.