22 #ifndef __OUTLIERDETECTION_MULTIVARIATE_TYPES_H__
23 #define __OUTLIERDETECTION_MULTIVARIATE_TYPES_H__
25 #include "algorithms/algorithm.h"
26 #include "data_management/data/homogen_numeric_table.h"
41 namespace multivariate_outlier_detection
59 enum BaconInitializationMethod
75 lastInputId = threshold
86 lastResultId = weights
107 virtual void operator()(data_management::NumericTable *data,
108 data_management::NumericTable *location,
109 data_management::NumericTable *scatter,
110 data_management::NumericTable *threshold) = 0;
112 virtual ~InitIface() {}
119 struct DAAL_EXPORT DefaultInit :
public InitIface
128 virtual void operator()(data_management::NumericTable *data,
129 data_management::NumericTable *location,
130 data_management::NumericTable *scatter,
131 data_management::NumericTable *threshold) {}
137 template <Method method>
138 struct Parameter :
public daal::algorithms::Parameter
149 struct DAAL_EXPORT Parameter<defaultDense> :
public daal::algorithms::Parameter
152 services::SharedPtr<InitIface> initializationProcedure;
154 virtual services::Status check() const DAAL_C11_OVERRIDE {
return services::Status();}
167 struct DAAL_EXPORT Parameter<baconDense> :
public daal::algorithms::Parameter
169 Parameter(BaconInitializationMethod initMethod = baconMedian,
170 double alpha = 0.05,
double toleranceToConverge = 0.005) {}
172 BaconInitializationMethod initMethod;
176 double toleranceToConverge;
178 virtual services::Status check() const DAAL_C11_OVERRIDE {
return services::Status();}
186 class DAAL_EXPORT Input :
public daal::algorithms::Input
190 Input(
const Input& other);
199 data_management::NumericTablePtr
get(InputId id)
const;
206 void set(InputId
id,
const data_management::NumericTablePtr &ptr);
215 services::Status check(
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
222 class DAAL_EXPORT Result :
public daal::algorithms::Result
225 DECLARE_SERIALIZABLE_CAST(Result);
228 virtual ~Result() {};
239 template <
typename algorithmFPType>
240 DAAL_EXPORT services::Status allocate(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *parameter,
const int method);
247 data_management::NumericTablePtr
get(ResultId id)
const;
254 void set(ResultId
id,
const data_management::NumericTablePtr &ptr);
264 services::Status check(
const daal::algorithms::Input *input,
const daal::algorithms::Parameter *par,
int method)
const DAAL_C11_OVERRIDE;
268 template<
typename Archive,
bool onDeserialize>
269 services::Status serialImpl(Archive *arch)
271 return daal::algorithms::Result::serialImpl<Archive, onDeserialize>(arch);
274 typedef services::SharedPtr<Result> ResultPtr;
278 using interface1::InitIface;
279 using interface1::DefaultInit;
280 using interface1::Parameter;
281 using interface1::Input;
282 using interface1::Result;
283 using interface1::ResultPtr;
daal::algorithms::multivariate_outlier_detection::interface1::InitIface::operator()
virtual void operator()(data_management::NumericTable *data, data_management::NumericTable *location, data_management::NumericTable *scatter, data_management::NumericTable *threshold)=0
daal::algorithms::multivariate_outlier_detection::threshold
Definition: outlier_detection_multivariate_types.h:74
daal::algorithms::multivariate_outlier_detection::ResultId
ResultId
Definition: outlier_detection_multivariate_types.h:83
daal
Definition: algorithm_base_common.h:31
daal::algorithms::multivariate_outlier_detection::interface1::Parameter< baconDense >::alpha
double alpha
Definition: outlier_detection_multivariate_types.h:173
daal::algorithms::multivariate_outlier_detection::Method
Method
Definition: outlier_detection_multivariate_types.h:47
daal::algorithms::multivariate_outlier_detection::baconMahalanobis
Definition: outlier_detection_multivariate_types.h:62
daal::algorithms::multivariate_outlier_detection::interface1::InitIface
Abstract interface class that provides function for the initialization procedure. ...
Definition: outlier_detection_multivariate_types.h:98
daal::algorithms::multivariate_outlier_detection::interface1::Parameter< baconDense >::initMethod
BaconInitializationMethod initMethod
Definition: outlier_detection_multivariate_types.h:172
daal::algorithms::multivariate_outlier_detection::interface1::Parameter< defaultDense >::initializationProcedure
services::SharedPtr< InitIface > initializationProcedure
Definition: outlier_detection_multivariate_types.h:152
daal::algorithms::multivariate_outlier_detection::baconDense
Definition: outlier_detection_multivariate_types.h:50
daal::algorithms::multivariate_outlier_detection::location
Definition: outlier_detection_multivariate_types.h:72
daal::algorithms::multivariate_outlier_detection::interface1::Parameter
Definition: outlier_detection_multivariate_types.h:138
daal::algorithms::multivariate_outlier_detection::InputId
InputId
Definition: outlier_detection_multivariate_types.h:69
daal::algorithms::multivariate_outlier_detection::weights
Definition: outlier_detection_multivariate_types.h:85
daal::algorithms::multivariate_outlier_detection::interface1::DefaultInit
Class that specifies the default method for the initialization procedure.
Definition: outlier_detection_multivariate_types.h:119
daal::algorithms::multivariate_outlier_detection::interface1::DefaultInit::operator()
virtual void operator()(data_management::NumericTable *data, data_management::NumericTable *location, data_management::NumericTable *scatter, data_management::NumericTable *threshold)
Definition: outlier_detection_multivariate_types.h:128
daal::algorithms::multivariate_outlier_detection::baconMedian
Definition: outlier_detection_multivariate_types.h:61
daal::algorithms::multivariate_outlier_detection::defaultDense
Definition: outlier_detection_multivariate_types.h:49
daal::algorithms::multivariate_outlier_detection::data
Definition: outlier_detection_multivariate_types.h:71
daal::algorithms::multivariate_outlier_detection::scatter
Definition: outlier_detection_multivariate_types.h:73
daal::algorithms::multivariate_outlier_detection::interface1::Result
Results obtained with the compute() method of the multivariate outlier detection algorithm in the bat...
Definition: outlier_detection_multivariate_types.h:222
daal::algorithms::multivariate_outlier_detection::interface1::Parameter< baconDense >::toleranceToConverge
double toleranceToConverge
Definition: outlier_detection_multivariate_types.h:176
daal::algorithms::multivariate_outlier_detection::BaconInitializationMethod
BaconInitializationMethod
Definition: outlier_detection_multivariate_types.h:59