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

outlier_detection_bacon_types.h
1 /* file: outlier_detection_bacon_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 // Outlier Detection algorithm parameter structure
21 //--
22 */
23 
24 #ifndef __OUTLIERDETECTION_BACON_TYPES_H__
25 #define __OUTLIERDETECTION_BACON_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 {
43 namespace bacon_outlier_detection
44 {
49 enum Method
50 {
51  defaultDense = 0
52 };
53 
58 enum InitializationMethod
59 {
60  baconMedian = 0,
61  baconMahalanobis = 1
62 };
63 
68 enum InputId
69 {
70  data = 0
71 };
72 
77 enum ResultId
78 {
79  weights = 0
80 };
81 
85 namespace interface1
86 {
87 
94 /* [ParameterBacon source code] */
95 struct DAAL_EXPORT Parameter : public daal::algorithms::Parameter
96 {
97  Parameter(InitializationMethod initMethod = baconMedian,
98  double alpha = 0.05, double toleranceToConverge = 0.005);
99 
100  InitializationMethod initMethod;
101  double alpha;
104  double toleranceToConverge;
106  virtual services::Status check() const DAAL_C11_OVERRIDE;
107 };
108 /* [ParameterBacon source code] */
109 
114 class DAAL_EXPORT Input : public daal::algorithms::Input
115 {
116 public:
117  Input();
118  Input(const Input& other);
119 
120  virtual ~Input() {}
121 
127  data_management::NumericTablePtr get(InputId id) const;
128 
134  void set(InputId id, const data_management::NumericTablePtr &ptr);
135 
143  services::Status check(const daal::algorithms::Parameter *par, int method) const DAAL_C11_OVERRIDE;
144 };
145 
150 class DAAL_EXPORT Result : public daal::algorithms::Result
151 {
152 public:
153  DECLARE_SERIALIZABLE_CAST(Result);
154  Result();
155 
156  virtual ~Result() {};
157 
167  template <typename algorithmFPType>
168  DAAL_EXPORT services::Status allocate(const daal::algorithms::Input *input, const daal::algorithms::Parameter *parameter, const int method);
169 
175  data_management::NumericTablePtr get(ResultId id) const;
176 
182  void set(ResultId id, const data_management::NumericTablePtr &ptr);
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 
205 } // namespace interface1
206 using interface1::Parameter;
207 using interface1::Input;
208 using interface1::Result;
209 using interface1::ResultPtr;
210 
211 } // namespace bacon_outlier_detection
212 } // namespace algorithm
213 } // namespace daal
214 #endif
daal::algorithms::bacon_outlier_detection::baconMedian
Definition: outlier_detection_bacon_types.h:60
daal::algorithms::bacon_outlier_detection::weights
Definition: outlier_detection_bacon_types.h:79
daal::algorithms::bacon_outlier_detection::interface1::Result
Results obtained with the compute() method of the BACON outlier detection algorithm in the batch proc...
Definition: outlier_detection_bacon_types.h:150
daal::algorithms::bacon_outlier_detection::interface1::Parameter::alpha
double alpha
Definition: outlier_detection_bacon_types.h:101
daal::algorithms::bacon_outlier_detection::defaultDense
Definition: outlier_detection_bacon_types.h:51
daal::algorithms::bacon_outlier_detection::data
Definition: outlier_detection_bacon_types.h:70
daal::algorithms::bacon_outlier_detection::Method
Method
Definition: outlier_detection_bacon_types.h:49
daal::algorithms::bacon_outlier_detection::ResultId
ResultId
Definition: outlier_detection_bacon_types.h:77
daal::algorithms::bacon_outlier_detection::baconMahalanobis
Definition: outlier_detection_bacon_types.h:61
daal::algorithms::bacon_outlier_detection::interface1::Parameter::initMethod
InitializationMethod initMethod
Definition: outlier_detection_bacon_types.h:100
daal::algorithms::bacon_outlier_detection::interface1::Parameter
Parameters of the outlier detection computation using the baconDense method.
Definition: outlier_detection_bacon_types.h:95
daal::algorithms::bacon_outlier_detection::InputId
InputId
Definition: outlier_detection_bacon_types.h:68
daal::algorithms::bacon_outlier_detection::InitializationMethod
InitializationMethod
Definition: outlier_detection_bacon_types.h:58
daal::algorithms::bacon_outlier_detection::interface1::Parameter::toleranceToConverge
double toleranceToConverge
Definition: outlier_detection_bacon_types.h:104
daal::algorithms::bacon_outlier_detection::interface1::Input
Input objects for the BACON outlier detection algorithm
Definition: outlier_detection_bacon_types.h:114

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