C++ API Reference for Intel® Data Analytics Acceleration Library 2019

multiclass_confusion_matrix_types.h
1 /* file: multiclass_confusion_matrix_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 // Declaration of data types for multi-class confusion matrix.
19 //--
20 */
21 
22 #ifndef __MULTICLASS_CONFUSION_MATRIX_TYPES_H__
23 #define __MULTICLASS_CONFUSION_MATRIX_TYPES_H__
24 
25 #include "algorithms/algorithm.h"
26 #include "data_management/data/homogen_numeric_table.h"
27 
28 namespace daal
29 {
30 namespace algorithms
31 {
32 namespace classifier
33 {
37 namespace quality_metric
38 {
48 namespace multiclass_confusion_matrix
49 {
54 enum Method
55 {
56  defaultDense = 0
57 };
58 
63 enum InputId
64 {
65  predictedLabels,
66  groundTruthLabels,
67  lastInputId = groundTruthLabels
68 };
69 
74 enum ResultId
75 {
76  confusionMatrix,
77  multiClassMetrics,
78  lastResultId = multiClassMetrics
79 };
80 
85 enum MultiClassMetricsId
86 {
87  averageAccuracy,
88  errorRate,
89  microPrecision,
90  microRecall,
91  microFscore,
92  macroPrecision,
93  macroRecall,
94  macroFscore
95 };
96 
100 namespace interface1
101 {
108 /* [Parameter source code] */
109 struct DAAL_EXPORT Parameter : public daal::algorithms::Parameter
110 {
111  Parameter(size_t nClasses = 0, double beta = 1.0);
112  virtual ~Parameter() {}
113 
114  size_t nClasses;
115  double beta;
117  services::Status check() const DAAL_C11_OVERRIDE;
118 };
119 /* [Parameter source code] */
120 
125 class DAAL_EXPORT Input : public daal::algorithms::Input
126 {
127 public:
128  Input();
129  Input(const Input& other) : daal::algorithms::Input(other){}
130 
131  virtual ~Input() {}
132 
138  data_management::NumericTablePtr get(InputId id) const;
139 
145  void set(InputId id, const data_management::NumericTablePtr &value);
146 
152  services::Status check(const daal::algorithms::Parameter *parameter, int method) const DAAL_C11_OVERRIDE;
153 };
154 typedef services::SharedPtr<Input> InputPtr;
155 
161 class DAAL_EXPORT Result : public daal::algorithms::Result
162 {
163 public:
164  DECLARE_SERIALIZABLE_CAST(Result);
165  Result();
166  virtual ~Result() {}
167 
173  data_management::NumericTablePtr get(ResultId id) const;
174 
180  void set(ResultId id, const data_management::NumericTablePtr &value);
181 
188  template<typename algorithmFPType>
189  DAAL_EXPORT services::Status allocate(const daal::algorithms::Input *input, const daal::algorithms::Parameter *parameter, const int method);
190 
197  services::Status check(const daal::algorithms::Input *input, const daal::algorithms::Parameter *parameter, int method) const DAAL_C11_OVERRIDE;
198 
199 protected:
201  template<typename Archive, bool onDeserialize>
202  services::Status serialImpl(Archive *arch)
203  {
204  return daal::algorithms::Result::serialImpl<Archive, onDeserialize>(arch);
205  }
206 };
207 typedef services::SharedPtr<Result> ResultPtr;
208 } // namespace interface1
209 using interface1::Parameter;
210 using interface1::Input;
211 using interface1::InputPtr;
212 using interface1::Result;
213 using interface1::ResultPtr;
214 
215 } // namespace daal::algorithms::classifier::quality_metric::multiclass_confusion_matrix
217 } // namespace daal::algorithms::classifier::quality_metric
218 } // namespace daal::algorithms::classifier
219 } // namespace daal::algorithms
220 } // namespace daal
221 #endif
daal::algorithms::classifier::quality_metric::multiclass_confusion_matrix::macroPrecision
Definition: multiclass_confusion_matrix_types.h:92
daal
Definition: algorithm_base_common.h:31
daal::algorithms::classifier::quality_metric::multiclass_confusion_matrix::macroRecall
Definition: multiclass_confusion_matrix_types.h:93
daal::algorithms::classifier::quality_metric::multiclass_confusion_matrix::confusionMatrix
Definition: multiclass_confusion_matrix_types.h:76
daal::algorithms::classifier::quality_metric::multiclass_confusion_matrix::microRecall
Definition: multiclass_confusion_matrix_types.h:90
daal::algorithms::classifier::quality_metric::multiclass_confusion_matrix::microPrecision
Definition: multiclass_confusion_matrix_types.h:89
daal::algorithms::classifier::quality_metric::multiclass_confusion_matrix::predictedLabels
Definition: multiclass_confusion_matrix_types.h:65
daal::algorithms::classifier::quality_metric::multiclass_confusion_matrix::interface1::Parameter::nClasses
size_t nClasses
Definition: multiclass_confusion_matrix_types.h:114
daal::algorithms::classifier::quality_metric::multiclass_confusion_matrix::interface1::Parameter
Parameters for the compute() method of the multi-class confusion matrix.
Definition: multiclass_confusion_matrix_types.h:109
daal::algorithms::classifier::quality_metric::multiclass_confusion_matrix::microFscore
Definition: multiclass_confusion_matrix_types.h:91
daal::algorithms::classifier::quality_metric::multiclass_confusion_matrix::Method
Method
Definition: multiclass_confusion_matrix_types.h:54
daal::algorithms::classifier::quality_metric::multiclass_confusion_matrix::averageAccuracy
Definition: multiclass_confusion_matrix_types.h:87
daal::algorithms::classifier::quality_metric::multiclass_confusion_matrix::multiClassMetrics
Definition: multiclass_confusion_matrix_types.h:77
daal::algorithms::classifier::quality_metric::multiclass_confusion_matrix::interface1::Input
Base class for the input objects of the confusion matrix algorithm in the training stage of the class...
Definition: multiclass_confusion_matrix_types.h:125
daal::algorithms::classifier::quality_metric::multiclass_confusion_matrix::interface1::Result
Results obtained with the compute() method of the multi-class confusion matrix algorithm in the batch...
Definition: multiclass_confusion_matrix_types.h:161
daal::algorithms::classifier::quality_metric::multiclass_confusion_matrix::defaultDense
Definition: multiclass_confusion_matrix_types.h:56
daal::algorithms::classifier::quality_metric::multiclass_confusion_matrix::interface1::Parameter::beta
double beta
Definition: multiclass_confusion_matrix_types.h:115
daal::algorithms::classifier::quality_metric::multiclass_confusion_matrix::errorRate
Definition: multiclass_confusion_matrix_types.h:88
daal::algorithms::math::abs::value
Definition: abs_types.h:86
daal::algorithms::classifier::quality_metric::multiclass_confusion_matrix::macroFscore
Definition: multiclass_confusion_matrix_types.h:94
daal::algorithms::classifier::quality_metric::multiclass_confusion_matrix::InputId
InputId
Definition: multiclass_confusion_matrix_types.h:63
daal::algorithms::classifier::quality_metric::multiclass_confusion_matrix::groundTruthLabels
Definition: multiclass_confusion_matrix_types.h:66
daal::algorithms::classifier::quality_metric::multiclass_confusion_matrix::MultiClassMetricsId
MultiClassMetricsId
Definition: multiclass_confusion_matrix_types.h:85
daal::algorithms::classifier::quality_metric::multiclass_confusion_matrix::ResultId
ResultId
Definition: multiclass_confusion_matrix_types.h:74

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