C++ API Reference for Intel® Data Analytics Acceleration Library 2020 Update 1

binary_confusion_matrix_types.h
1 /* file: binary_confusion_matrix_types.h */
2 /*******************************************************************************
3 * Copyright 2014-2020 Intel Corporation
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *******************************************************************************/
17 
18 /*
19 //++
20 // Declaration of data types for computing the binary confusion matrix.
21 //--
22 */
23 
24 #ifndef __BINARY_CONFUSION_MATRIX_TYPES_H__
25 #define __BINARY_CONFUSION_MATRIX_TYPES_H__
26 
27 #include "algorithms/algorithm.h"
28 #include "data_management/data/homogen_numeric_table.h"
29 
30 namespace daal
31 {
32 namespace algorithms
33 {
34 namespace classifier
35 {
44 namespace quality_metric
45 {
55 namespace binary_confusion_matrix
56 {
61 enum Method
62 {
63  defaultDense = 0
64 };
65 
70 enum InputId
71 {
72  predictedLabels,
73  groundTruthLabels,
74  lastInputId = groundTruthLabels
75 };
76 
81 enum ResultId
82 {
83  confusionMatrix,
84  binaryMetrics,
85  lastResultId = binaryMetrics
86 };
87 
92 enum BinaryMetricsId
93 {
94  accuracy,
95  precision,
96  recall,
97  fscore,
98  specificity,
99  AUC,
100  lastBinaryMetricsId = AUC
101 };
102 
106 namespace interface1
107 {
114 /* [Parameter source code] */
115 struct DAAL_EXPORT Parameter : public daal::algorithms::Parameter
116 {
117  Parameter(double beta = 1.0);
118  virtual ~Parameter() {}
119 
120  double beta;
122  services::Status check() const DAAL_C11_OVERRIDE;
123 };
124 /* [Parameter source code] */
125 
130 class DAAL_EXPORT Input : public daal::algorithms::Input
131 {
132 public:
133  Input();
134  Input(const Input& other) : daal::algorithms::Input(other){}
135 
136  virtual ~Input() {}
137 
143  data_management::NumericTablePtr get(InputId id) const;
144 
150  void set(InputId id, const data_management::NumericTablePtr &value);
151 
157  services::Status check(const daal::algorithms::Parameter *parameter, int method) const DAAL_C11_OVERRIDE;
158 };
159 typedef services::SharedPtr<Input> InputPtr;
160 
166 class DAAL_EXPORT Result : public daal::algorithms::Result
167 {
168 public:
169  DECLARE_SERIALIZABLE_CAST(Result);
170  Result();
171  virtual ~Result() {}
172 
178  data_management::NumericTablePtr get(ResultId id) const;
179 
185  void set(ResultId id, const data_management::NumericTablePtr &value);
186 
193  template<typename algorithmFPType>
194  DAAL_EXPORT services::Status allocate(const daal::algorithms::Input *input, const daal::algorithms::Parameter *parameter, const int method);
195 
202  services::Status check(const daal::algorithms::Input *input, const daal::algorithms::Parameter *parameter, int method) const DAAL_C11_OVERRIDE;
203 
204 protected:
206  template<typename Archive, bool onDeserialize>
207  services::Status serialImpl(Archive *arch)
208  {
209  return daal::algorithms::Result::serialImpl<Archive, onDeserialize>(arch);
210  }
211 };
212 typedef services::SharedPtr<Result> ResultPtr;
213 } // namespace interface1
214 using interface1::Parameter;
215 using interface1::Input;
216 using interface1::InputPtr;
217 using interface1::Result;
218 using interface1::ResultPtr;
219 
220 }
222 } // namespace daal::algorithms::classifier::quality_metric
223 } // namespace daal::algorithms::classifier
224 } // namespace daal::algorithms
225 } // namespace daal
226 #endif
daal::algorithms::classifier::quality_metric::binary_confusion_matrix::fscore
Definition: binary_confusion_matrix_types.h:97
daal::algorithms::classifier::quality_metric::binary_confusion_matrix::accuracy
Definition: binary_confusion_matrix_types.h:94
daal::algorithms::classifier::quality_metric::binary_confusion_matrix::recall
Definition: binary_confusion_matrix_types.h:96
daal::algorithms::classifier::quality_metric::binary_confusion_matrix::Method
Method
Definition: binary_confusion_matrix_types.h:61
daal::algorithms::classifier::quality_metric::binary_confusion_matrix::specificity
Definition: binary_confusion_matrix_types.h:98
daal::algorithms::classifier::quality_metric::binary_confusion_matrix::predictedLabels
Definition: binary_confusion_matrix_types.h:72
daal::algorithms::classifier::quality_metric::binary_confusion_matrix::groundTruthLabels
Definition: binary_confusion_matrix_types.h:73
daal::algorithms::classifier::quality_metric::binary_confusion_matrix::interface1::Input
Base class for input objects of the binary confusion matrix algorithm.
Definition: binary_confusion_matrix_types.h:130
daal::algorithms::classifier::quality_metric::binary_confusion_matrix::AUC
Definition: binary_confusion_matrix_types.h:99
daal::algorithms::classifier::quality_metric::binary_confusion_matrix::InputId
InputId
Definition: binary_confusion_matrix_types.h:70
daal::algorithms::classifier::quality_metric::binary_confusion_matrix::interface1::Result
Results obtained with the compute() method of the binary confusion matrix algorithm in the batch proc...
Definition: binary_confusion_matrix_types.h:166
daal::algorithms::classifier::quality_metric::binary_confusion_matrix::defaultDense
Definition: binary_confusion_matrix_types.h:63
daal::algorithms::classifier::quality_metric::binary_confusion_matrix::precision
Definition: binary_confusion_matrix_types.h:95
daal::algorithms::math::abs::value
Definition: abs_types.h:88
daal::algorithms::classifier::quality_metric::binary_confusion_matrix::BinaryMetricsId
BinaryMetricsId
Definition: binary_confusion_matrix_types.h:92
daal::algorithms::classifier::quality_metric::binary_confusion_matrix::binaryMetrics
Definition: binary_confusion_matrix_types.h:84
daal::algorithms::classifier::quality_metric::binary_confusion_matrix::confusionMatrix
Definition: binary_confusion_matrix_types.h:83
daal::algorithms::classifier::quality_metric::binary_confusion_matrix::interface1::Parameter::beta
double beta
Definition: binary_confusion_matrix_types.h:120
daal::algorithms::classifier::quality_metric::binary_confusion_matrix::interface1::Parameter
Parameters for the binary confusion matrix compute() method.
Definition: binary_confusion_matrix_types.h:115
daal::algorithms::classifier::quality_metric::binary_confusion_matrix::ResultId
ResultId
Definition: binary_confusion_matrix_types.h:81

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