41 #ifndef __OPENCV_ML_HPP__
42 #define __OPENCV_ML_HPP__
62 #define CV_LOG2PI (1.8378770664093454835606594728112)
65 #define CV_COL_SAMPLE 0
68 #define CV_ROW_SAMPLE 1
70 #define CV_IS_ROW_SAMPLE(flags) ((flags) & CV_ROW_SAMPLE)
101 pl.
min_val = MIN( min_val, max_val );
102 pl.
max_val = MAX( min_val, max_val );
103 pl.
step = MAX( log_step, 1. );
115 #define CV_VAR_NUMERICAL 0
116 #define CV_VAR_ORDERED 0
117 #define CV_VAR_CATEGORICAL 1
119 #define CV_TYPE_NAME_ML_SVM "opencv-ml-svm"
120 #define CV_TYPE_NAME_ML_KNN "opencv-ml-knn"
121 #define CV_TYPE_NAME_ML_NBAYES "opencv-ml-bayesian"
122 #define CV_TYPE_NAME_ML_EM "opencv-ml-em"
123 #define CV_TYPE_NAME_ML_BOOSTING "opencv-ml-boost-tree"
124 #define CV_TYPE_NAME_ML_TREE "opencv-ml-tree"
125 #define CV_TYPE_NAME_ML_ANN_MLP "opencv-ml-ann-mlp"
126 #define CV_TYPE_NAME_ML_CNN "opencv-ml-cnn"
127 #define CV_TYPE_NAME_ML_RTREES "opencv-ml-random-trees"
128 #define CV_TYPE_NAME_ML_ERTREES "opencv-ml-extremely-randomized-trees"
129 #define CV_TYPE_NAME_ML_GBT "opencv-ml-gradient-boosting-trees"
131 #define CV_TRAIN_ERROR 0
132 #define CV_TEST_ERROR 1
140 virtual void clear();
142 CV_WRAP
virtual void save(
const char*
filename,
const char*
name=0 )
const;
143 CV_WRAP
virtual void load(
const char* filename,
const char*
name=0 );
166 enum { SVM_C=0, SVM_GAMMA=1, SVM_P=2, SVM_NU=3, SVM_COEF=4, SVM_DEGREE=5 };
193 virtual ~CvNormalBayesClassifier();
196 const CvMat* varIdx=0,
const CvMat* sampleIdx=0 );
198 virtual bool train(
const CvMat* trainData,
const CvMat* responses,
199 const CvMat* varIdx = 0,
const CvMat* sampleIdx=0,
bool update=
false );
202 CV_WRAP
virtual void clear();
204 CV_WRAP CvNormalBayesClassifier(
const cv::Mat& trainData,
const cv::Mat& responses,
206 CV_WRAP
virtual bool train(
const cv::Mat& trainData,
const cv::Mat& responses,
209 CV_WRAP
virtual float predict(
const cv::Mat& samples, CV_OUT
cv::Mat* results=0 )
const;
238 virtual ~CvKNearest();
241 const CvMat* sampleIdx=0,
bool isRegression=
false,
int max_k=32 );
243 virtual bool train(
const CvMat* trainData,
const CvMat* responses,
244 const CvMat* sampleIdx=0,
bool is_regression=
false,
245 int maxK=32,
bool updateBase=
false );
248 const float** neighbors=0, CV_OUT
CvMat* neighborResponses=0, CV_OUT
CvMat*
dist=0 )
const;
250 CV_WRAP CvKNearest(
const cv::Mat& trainData,
const cv::Mat& responses,
251 const cv::Mat& sampleIdx=
cv::Mat(),
bool isRegression=
false,
int max_k=32 );
253 CV_WRAP
virtual bool train(
const cv::Mat& trainData,
const cv::Mat& responses,
255 int maxK=32,
bool updateBase=
false );
258 const float** neighbors=0,
cv::Mat* neighborResponses=0,
263 virtual void clear();
264 int get_max_k()
const;
265 int get_var_count()
const;
266 int get_sample_count()
const;
267 bool is_regression()
const;
269 virtual float write_results(
int k,
int k1,
int start,
int end,
270 const float* neighbor_responses,
const float*
dist,
CvMat* _results,
273 virtual void find_neighbors_direct(
const CvMat* _samples,
int k,
int start,
int end,
274 float* neighbor_responses,
const float** neighbors,
float* dist )
const;
292 CvSVMParams(
int svm_type,
int kernel_type,
293 double degree,
double gamma,
double coef0,
294 double Cvalue,
double nu,
double p,
304 CV_PROP_RW
double nu;
314 const float* another,
float* results );
320 virtual void clear();
321 virtual void calc(
int vcount,
int n,
const float** vecs,
const float* another,
float* results );
326 virtual void calc_non_rbf_base(
int vec_count,
int vec_size,
const float** vecs,
327 const float* another,
float* results,
330 virtual void calc_linear(
int vec_count,
int vec_size,
const float** vecs,
331 const float* another,
float* results );
332 virtual void calc_rbf(
int vec_count,
int vec_size,
const float** vecs,
333 const float* another,
float* results );
334 virtual void calc_poly(
int vec_count,
int vec_size,
const float** vecs,
335 const float* another,
float* results );
336 virtual void calc_sigmoid(
int vec_count,
int vec_size,
const float** vecs,
337 const float* another,
float* results );
368 int alpha_count,
double*
alpha,
double Cp,
double Cn,
370 SelectWorkingSet select_working_set, CalcRho calc_rho );
372 int alpha_count,
double*
alpha,
double Cp,
double Cn,
374 SelectWorkingSet select_working_set, CalcRho calc_rho );
377 virtual void clear();
386 virtual bool solve_one_class(
int count,
int var_count,
const float**
samples,
390 virtual bool solve_eps_svr(
int count,
int var_count,
const float**
samples,
const float*
y,
394 virtual bool solve_nu_svr(
int count,
int var_count,
const float**
samples,
const float*
y,
398 virtual float* get_row_base(
int i,
bool* _existed );
399 virtual float* get_row(
int i,
float*
dst );
431 virtual bool select_working_set(
int& i,
int& j );
432 virtual bool select_working_set_nu_svm(
int& i,
int& j );
433 virtual void calc_rho(
double&
rho,
double&
r );
434 virtual void calc_rho_nu_svm(
double&
rho,
double&
r );
436 virtual float* get_row_svc(
int i,
float*
row,
float*
dst,
bool existed );
437 virtual float* get_row_one_class(
int i,
float*
row,
float*
dst,
bool existed );
438 virtual float* get_row_svr(
int i,
float*
row,
float*
dst,
bool existed );
456 enum { C_SVC=100, NU_SVC=101, ONE_CLASS=102, EPS_SVR=103, NU_SVR=104 };
459 enum {
LINEAR=0, POLY=1, RBF=2, SIGMOID=3 };
462 enum { C=0, GAMMA=1, P=2, NU=3, COEF=4, DEGREE=5 };
468 const CvMat* varIdx=0,
const CvMat* sampleIdx=0,
471 virtual bool train(
const CvMat* trainData,
const CvMat* responses,
472 const CvMat* varIdx=0,
const CvMat* sampleIdx=0,
475 virtual bool train_auto(
const CvMat* trainData,
const CvMat* responses,
484 bool balanced=
false );
486 virtual float predict(
const CvMat*
sample,
bool returnDFVal=
false )
const;
493 CV_WRAP
virtual bool train(
const cv::Mat& trainData,
const cv::Mat& responses,
497 CV_WRAP
virtual bool train_auto(
const cv::Mat& trainData,
const cv::Mat& responses,
506 bool balanced=
false);
507 CV_WRAP
virtual float predict(
const cv::Mat&
sample,
bool returnDFVal=
false )
const;
510 CV_WRAP virtual
int get_support_vector_count() const;
511 virtual const
float* get_support_vector(
int i) const;
513 CV_WRAP
virtual void clear();
515 static CvParamGrid get_default_grid(
int param_id );
519 CV_WRAP
int get_var_count()
const {
return var_idx ? var_idx->cols : var_all; }
523 virtual bool set_params(
const CvSVMParams& params );
525 const void* responses,
double Cp,
double Cn,
527 virtual bool do_train(
int svm_type,
int sample_count,
int var_count,
const float**
samples,
529 virtual void create_kernel();
530 virtual void create_solver();
532 virtual float predict(
const float* row_sample,
int row_len,
bool returnDFVal=
false )
const;
537 void optimize_linear_svm();
566 enum {COV_MAT_SPHERICAL=0, COV_MAT_DIAGONAL=1, COV_MAT_GENERIC=2, COV_MAT_DEFAULT=COV_MAT_DIAGONAL};
569 enum {DEFAULT_NCLUSTERS=5, DEFAULT_MAX_ITERS=100};
572 enum {START_E_STEP=1, START_M_STEP=2, START_AUTO_STEP=0};
579 CV_WRAP
virtual void clear();
586 CV_WRAP
virtual bool trainE(
InputArray samples,
594 CV_WRAP
virtual bool trainM(
InputArray samples,
603 CV_WRAP
bool isTrained()
const;
610 virtual void setTrainData(
int startStep,
const Mat& samples,
613 const vector<Mat>* covs0,
614 const Mat* weights0);
616 bool doTrain(
int startStep,
620 virtual void eStep();
621 virtual void mStep();
623 void clusterTrainSamples();
624 void decomposeCovs();
625 void computeLogWeightDivDet();
627 Vec2d computeProbabilities(
const Mat& sample,
Mat* probs)
const;
661 #define CV_DTREE_CAT_DIR(idx,subset) \
662 (2*((subset[(idx)>>5]&(1 << ((idx) & 31)))==0)-1)
731 float regression_accuracy,
bool use_surrogates,
732 int max_categories,
int cv_folds,
733 bool use_1se_rule,
bool truncate_pruned_tree,
734 const float* priors );
741 CvDTreeTrainData(
const CvMat* trainData,
int tflag,
742 const CvMat* responses,
const CvMat* varIdx=0,
743 const CvMat* sampleIdx=0,
const CvMat* varType=0,
744 const CvMat* missingDataMask=0,
746 bool _shared=
false,
bool _add_labels=
false );
747 virtual ~CvDTreeTrainData();
749 virtual void set_data(
const CvMat* trainData,
int tflag,
750 const CvMat* responses,
const CvMat* varIdx=0,
751 const CvMat* sampleIdx=0,
const CvMat* varType=0,
752 const CvMat* missingDataMask=0,
754 bool _shared=
false,
bool _add_labels=
false,
755 bool _update_data=
false );
756 virtual void do_responses_copy();
758 virtual void get_vectors(
const CvMat* _subsample_idx,
759 float*
values,
uchar* missing,
float* responses,
bool get_class_idx=
false );
767 virtual void clear();
769 int get_num_classes()
const;
770 int get_var_type(
int vi)
const;
773 virtual const float* get_ord_responses(
CvDTreeNode*
n,
float* values_buf,
int* sample_indices_buf );
774 virtual const int* get_class_labels(
CvDTreeNode*
n,
int* labels_buf );
775 virtual const int* get_cv_labels(
CvDTreeNode*
n,
int* labels_buf );
776 virtual const int* get_sample_indices(
CvDTreeNode*
n,
int* indices_buf );
777 virtual const int* get_cat_var_data(
CvDTreeNode*
n,
int vi,
int* cat_values_buf );
778 virtual void get_ord_var_data(
CvDTreeNode*
n,
int vi,
float* ord_values_buf,
int* sorted_indices_buf,
779 const float** ord_values,
const int** sorted_indices,
int* sample_indices_buf );
786 int storage_idx,
int offset );
788 virtual CvDTreeSplit* new_split_ord(
int vi,
float cmp_val,
789 int split_point,
int inversed,
float quality );
790 virtual CvDTreeSplit* new_split_cat(
int vi,
float quality );
792 virtual void free_train_data();
851 struct DTreeBestSplitFinder;
852 struct ForestTreeBestSplitFinder;
861 virtual bool train(
const CvMat* trainData,
int tflag,
862 const CvMat* responses,
const CvMat* varIdx=0,
863 const CvMat* sampleIdx=0,
const CvMat* varType=0,
864 const CvMat* missingDataMask=0,
870 virtual float calc_error(
CvMLData* trainData,
int type, std::vector<float> *resp = 0 );
875 bool preprocessedInput=
false )
const;
877 CV_WRAP
virtual bool train(
const cv::Mat& trainData,
int tflag,
884 bool preprocessedInput=
false )
const;
885 CV_WRAP
virtual cv::Mat getVarImportance();
887 virtual const CvMat* get_var_importance();
888 CV_WRAP
virtual void clear();
899 int get_pruned_tree_idx()
const;
903 friend struct cv::DTreeBestSplitFinder;
905 virtual bool do_train(
const CvMat* _subsample_idx );
921 virtual void complete_node_dir(
CvDTreeNode* node );
922 virtual void cluster_categories(
const int* vectors,
int vector_count,
923 int var_count,
int* sums,
int k,
int* cluster_labels );
927 virtual void prune_cv();
928 virtual double update_tree_rnc(
int T,
int fold );
929 virtual int cut_tree(
int T,
int fold,
double min_alpha );
930 virtual void free_prune_data(
bool cut_tree);
931 virtual void free_tree();
967 virtual bool train(
const CvMat* trainData,
int tflag,
968 const CvMat* responses,
const CvMat* varIdx=0,
969 const CvMat* sampleIdx=0,
const CvMat* varType=0,
970 const CvMat* missingDataMask=0,
980 friend struct cv::ForestTreeBestSplitFinder;
995 CvRTParams(
int max_depth,
int min_sample_count,
996 float regression_accuracy,
bool use_surrogates,
997 int max_categories,
const float* priors,
bool calc_var_importance,
998 int nactive_vars,
int max_num_of_trees_in_the_forest,
999 float forest_accuracy,
int termcrit_type );
1007 virtual ~CvRTrees();
1008 virtual bool train(
const CvMat* trainData,
int tflag,
1009 const CvMat* responses,
const CvMat* varIdx=0,
1010 const CvMat* sampleIdx=0,
const CvMat* varType=0,
1011 const CvMat* missingDataMask=0,
1015 virtual float predict(
const CvMat*
sample,
const CvMat* missing = 0 )
const;
1016 virtual float predict_prob(
const CvMat* sample,
const CvMat* missing = 0 )
const;
1018 CV_WRAP
virtual bool train(
const cv::Mat& trainData,
int tflag,
1024 CV_WRAP
virtual float predict_prob(
const cv::Mat& sample,
const cv::Mat& missing =
cv::Mat() )
const;
1025 CV_WRAP
virtual cv::Mat getVarImportance();
1027 CV_WRAP
virtual void clear();
1029 virtual const CvMat* get_var_importance();
1030 virtual float get_proximity(
const CvMat* sample1,
const CvMat* sample2,
1031 const CvMat* missing1 = 0,
const CvMat* missing2 = 0 )
const;
1033 virtual float calc_error(
CvMLData* data,
int type , std::vector<float>* resp = 0 );
1035 virtual float get_train_error();
1040 CvMat* get_active_var_mask();
1043 int get_tree_count()
const;
1047 virtual std::string getName()
const;
1070 const CvMat* responses,
const CvMat* varIdx=0,
1071 const CvMat* sampleIdx=0,
const CvMat* varType=0,
1072 const CvMat* missingDataMask=0,
1074 bool _shared=
false,
bool _add_labels=
false,
1075 bool _update_data=
false );
1077 const float** ord_values,
const int** missing,
int* sample_buf = 0 );
1082 float* responses,
bool get_class_idx=
false );
1106 virtual ~CvERTrees();
1107 virtual bool train(
const CvMat* trainData,
int tflag,
1108 const CvMat* responses,
const CvMat* varIdx=0,
1109 const CvMat* sampleIdx=0,
const CvMat* varType=0,
1110 const CvMat* missingDataMask=0,
1112 CV_WRAP
virtual bool train(
const cv::Mat& trainData,
int tflag,
1119 virtual std::string
getName()
const;
1136 CvBoostParams(
int boost_type,
int weak_count,
double weight_trim_rate,
1137 int max_depth,
bool use_surrogates,
const float* priors );
1152 virtual void scale(
double s );
1155 virtual void clear();
1158 virtual bool train(
const CvMat* trainData,
int tflag,
1159 const CvMat* responses,
const CvMat* varIdx=0,
1160 const CvMat* sampleIdx=0,
const CvMat* varType=0,
1161 const CvMat* missingDataMask=0,
1194 enum { DISCRETE=0, REAL=1, LOGIT=2, GENTLE=3 };
1197 enum { DEFAULT=0, GINI=1, MISCLASS=3, SQERR=4 };
1203 const CvMat* responses,
const CvMat* varIdx=0,
1204 const CvMat* sampleIdx=0,
const CvMat* varType=0,
1205 const CvMat* missingDataMask=0,
1208 virtual bool train(
const CvMat* trainData,
int tflag,
1209 const CvMat* responses,
const CvMat* varIdx=0,
1210 const CvMat* sampleIdx=0,
const CvMat* varType=0,
1211 const CvMat* missingDataMask=0,
1213 bool update=
false );
1217 bool update=
false );
1221 bool raw_mode=
false,
bool return_sum=
false )
const;
1229 CV_WRAP
virtual bool train(
const cv::Mat& trainData,
int tflag,
1234 bool update=
false );
1238 bool returnSum=
false )
const;
1240 virtual float calc_error(
CvMLData* _data,
int type , std::vector<float> *resp = 0 );
1244 CV_WRAP
virtual void clear();
1248 virtual const CvMat* get_active_vars(
bool absolute_idx=
true);
1250 CvSeq* get_weak_predictors();
1252 CvMat* get_weights();
1253 CvMat* get_subtree_weights();
1254 CvMat* get_weak_response();
1260 void update_weights_impl(
CvBoostTree* tree,
double initial_weights[2] );
1264 virtual void trim_weights();
1315 CvGBTreesParams(
int loss_function_type,
int weak_count,
float shrinkage,
1316 float subsample_portion,
int max_depth,
bool use_surrogates );
1394 enum {SQUARED_LOSS=0, ABSOLUTE_LOSS, HUBER_LOSS=3, DEVIANCE_LOSS};
1449 const CvMat* responses,
const CvMat* varIdx=0,
1450 const CvMat* sampleIdx=0,
const CvMat* varType=0,
1451 const CvMat* missingDataMask=0,
1500 virtual bool train(
const CvMat* trainData,
int tflag,
1501 const CvMat* responses,
const CvMat* varIdx=0,
1502 const CvMat* sampleIdx=0,
const CvMat* varType=0,
1503 const CvMat* missingDataMask=0,
1505 bool update=
false );
1524 virtual bool train(
CvMLData* data,
1526 bool update=
false );
1556 virtual float predict_serial(
const CvMat* sample,
const CvMat* missing=0,
1588 virtual float predict(
const CvMat* sample,
const CvMat* missing=0,
1606 CV_WRAP
virtual void clear();
1625 std::vector<float> *resp = 0 );
1666 CV_WRAP
virtual bool train(
const cv::Mat& trainData,
int tflag,
1671 bool update=
false );
1694 virtual void find_gradient(
const int k = 0);
1713 virtual void change_values(
CvDTree* tree,
const int k = 0);
1732 virtual float find_optimal_value(
const CvMat* _Idx );
1749 virtual void do_subsample();
1799 virtual bool problem_type()
const;
1835 int get_len(
const CvMat*
mat)
const;
1870 CvANN_MLP_TrainParams(
CvTermCriteria term_crit,
int train_method,
1872 ~CvANN_MLP_TrainParams();
1874 enum { BACKPROP=0, RPROP=1 };
1883 CV_PROP_RW
double rp_dw0,
rp_dw_plus, rp_dw_minus, rp_dw_min, rp_dw_max;
1891 CvANN_MLP(
const CvMat* layerSizes,
1893 double fparam1=0,
double fparam2=0 );
1895 virtual ~CvANN_MLP();
1897 virtual void create(
const CvMat* layerSizes,
1899 double fparam1=0,
double fparam2=0 );
1901 virtual int train(
const CvMat* inputs,
const CvMat* outputs,
1902 const CvMat* sampleWeights,
const CvMat* sampleIdx=0,
1905 virtual float predict(
const CvMat* inputs, CV_OUT
CvMat* outputs )
const;
1907 CV_WRAP CvANN_MLP(
const cv::Mat& layerSizes,
1909 double fparam1=0,
double fparam2=0 );
1911 CV_WRAP
virtual void create(
const cv::Mat& layerSizes,
1913 double fparam1=0,
double fparam2=0 );
1915 CV_WRAP
virtual int train(
const cv::Mat& inputs,
const cv::Mat& outputs,
1920 CV_WRAP
virtual float predict(
const cv::Mat& inputs, CV_OUT
cv::Mat& outputs )
const;
1922 CV_WRAP
virtual void clear();
1925 enum { IDENTITY = 0, SIGMOID_SYM = 1, GAUSSIAN = 2 };
1928 enum { UPDATE_WEIGHTS = 1, NO_INPUT_SCALE = 2, NO_OUTPUT_SCALE = 4 };
1937 return layer_sizes &&
weights &&
1938 (unsigned)layer <= (
unsigned)layer_sizes->cols ?
weights[layer] : 0;
1941 virtual void calc_activ_func_deriv(
CvMat* xf,
CvMat* deriv,
const double*
bias )
const;
1945 virtual bool prepare_to_train(
const CvMat* _inputs,
const CvMat* _outputs,
1946 const CvMat* _sample_weights,
const CvMat* sampleIdx,
1955 virtual void calc_activ_func(
CvMat* xf,
const double*
bias )
const;
1956 virtual void set_activ_func(
int _activ_func=SIGMOID_SYM,
1957 double _f_param1=0,
double _f_param2=0 );
1958 virtual void init_weights();
1959 virtual void scale_input(
const CvMat* _src,
CvMat* _dst )
const;
1960 virtual void scale_output(
const CvMat* _src,
CvMat* _dst )
const;
1961 virtual void calc_input_scale(
const CvVectors* vecs,
int flags );
1962 virtual void calc_output_scale(
const CvVectors* vecs,
int flags );
1989 CVAPI(
void) cvRandGaussMixture(
CvMat* means[],
1994 CvMat* sampClasses CV_DEFAULT(0) );
1996 #define CV_TS_CONCENTRIC_SPHERES 0
2010 #define CV_PORTION 1
2015 CvTrainTestSplit(
int train_sample_count,
bool mix =
true);
2016 CvTrainTestSplit(
float train_sample_portion,
bool mix =
true);
2022 } train_sample_part;
2037 int read_csv(
const char*
filename );
2039 const CvMat* get_values()
const;
2040 const CvMat* get_responses();
2041 const CvMat* get_missing()
const;
2043 void set_response_idx(
int idx );
2045 int get_response_idx()
const;
2048 const CvMat* get_train_sample_idx()
const;
2049 const CvMat* get_test_sample_idx()
const;
2050 void mix_train_and_test_idx();
2052 const CvMat* get_var_idx();
2053 void chahge_var_idx(
int vi,
bool state );
2055 void change_var_idx(
int vi,
bool state );
2057 const CvMat* get_var_types();
2058 int get_var_type(
int var_idx )
const;
2062 void set_var_types(
const char*
str );
2065 void change_var_type(
int var_idx,
int type);
2067 void set_delimiter(
char ch );
2068 char get_delimiter()
const;
2070 void set_miss_ch(
char ch );
2071 char get_miss_ch()
const;
2073 const std::map<std::string, int>& get_class_labels_map()
const;
2076 virtual void clear();
2078 void str_to_flt_elem(
const char* token,
float& flt_elem,
int& type);
2079 void free_train_test_idx();
2144 #endif // __cplusplus
2145 #endif // __OPENCV_ML_HPP__
Mat trainSamples
Definition: ml.hpp:635
CV_PROP_RW CvTermCriteria term_crit
Definition: ml.hpp:1876
char miss_ch
Definition: ml.hpp:2082
GLdouble GLdouble GLdouble r
double * min_val
Definition: core_c.h:833
void find_nearest(const Matrix< typename Distance::ElementType > &dataset, typename Distance::ElementType *query, int *matches, int nn, int skip=0, Distance distance=Distance())
Definition: ground_truth.h:42
CvBoost * ensemble
Definition: ml.hpp:1186
const CvArr CvSeq CvSeq CvMemStorage CvSURFParams params
Definition: compat.hpp:647
void set_num_valid(int vi, int n)
Definition: ml.hpp:713
CV_PROP Mat means
Definition: ml.hpp:641
int train_sample_count
Definition: ml.hpp:2096
CV_PROP_RW int cv_folds
Definition: ml.hpp:722
CV_EXPORTS bool initModule_ml(void)
schar * alpha_status
Definition: ml.hpp:417
GLenum GLint GLint y
Definition: core_c.h:613
CvMat * missing
Definition: ml.hpp:2086
const _OutputArray & OutputArray
Definition: core.hpp:1449
int train_sample_part_mode
Definition: ml.hpp:2023
CvFileNode * node
Definition: core_c.h:1638
Random Number Generator.
Definition: core.hpp:2019
int * sample_idx
Definition: ml.hpp:2104
int total_class_count
Definition: ml.hpp:2099
CvMat * weak_eval
Definition: ml.hpp:1278
virtual bool grow_forest(const CvTermCriteria term_crit)
signed char schar
Definition: types_c.h:174
Termination criteria in iterative algorithms.
Definition: core.hpp:2091
double eps
Definition: ml.hpp:422
int get_work_var_count() const
Definition: ml.hpp:771
CvGBTreesParams params
Definition: ml.hpp:1839
CvMat * split_buf
Definition: ml.hpp:822
double tree_error
Definition: ml.hpp:705
cv::RNG * rng
Definition: ml.hpp:2106
CV_PROP_RW int weak_count
Definition: ml.hpp:1131
uint64 CvRNG
Definition: types_c.h:399
CV_PROP_RW bool calc_var_importance
Definition: ml.hpp:990
A short numerical vector.
Definition: core.hpp:84
const char const char ** filename
Definition: core_c.h:1750
CvMat int int CvMat int num_classes
Definition: ml.hpp:1999
int split_point
Definition: ml.hpp:677
int * sv_index
Definition: ml.hpp:447
const CvMat * train_data
Definition: ml.hpp:801
CvMat * wbuf
Definition: ml.hpp:1968
CvSVMKernel * kernel
Definition: ml.hpp:425
CV_PROP_RW int train_method
Definition: ml.hpp:1877
CvMat * cat_ofs
Definition: ml.hpp:810
int tflag
Definition: ml.hpp:799
CV_PROP_RW double C
Definition: ml.hpp:303
cv::RNG * rng
Definition: ml.hpp:1060
CvDTreeNode * data_root
Definition: ml.hpp:836
CV_PROP_RW double coef0
Definition: ml.hpp:301
CvSVMParams SVMParams
Definition: ml.hpp:2117
CvMemStorage * tree_storage
Definition: ml.hpp:833
CvMat * priors_mult
Definition: ml.hpp:829
int subset[2]
Definition: ml.hpp:673
const CvMat * get_layer_sizes()
Definition: ml.hpp:1934
CvMat * layer_sizes
Definition: ml.hpp:1967
CvMat * var_idx
Definition: ml.hpp:216
void delete_obj()
deletes the object. Override if needed
Definition: operations.hpp:2612
File Storage Node class.
Definition: core.hpp:4119
CvMat * train_sample_idx
Definition: ml.hpp:2102
double node_risk
Definition: ml.hpp:705
int alpha_count
Definition: ml.hpp:411
CV_PROP_RW double min_val
Definition: ml.hpp:177
CV_PROP_RW int nclusters
Definition: ml.hpp:630
CvSVMKernelRow * rows
Definition: ml.hpp:409
CV_PROP_RW float subsample_portion
Definition: ml.hpp:1311
double ** db
Definition: ml.hpp:81
virtual CvDTreeSplit * find_split_cat_reg(CvDTreeNode *n, int vi, float init_quality=0, CvDTreeSplit *_split=0, uchar *ext_buf=0)
CvMat * class_labels
Definition: ml.hpp:540
float c
Definition: ml.hpp:676
CvMat * var_idx
Definition: ml.hpp:824
float ** sv
Definition: ml.hpp:542
double * G
Definition: ml.hpp:413
CvDTreeSplit * next
Definition: ml.hpp:670
bool shared
Definition: ml.hpp:806
CvMat * cls_labels
Definition: ml.hpp:217
CV_PROP_RW double epsilon
Definition: ml.hpp:633
const int * idx
Definition: core_c.h:323
uchar ** ptr
Definition: ml.hpp:79
static Range all()
Definition: operations.hpp:2219
int sample_count
Definition: ml.hpp:695
float ** fl
Definition: ml.hpp:80
The 2D range class.
Definition: core.hpp:979
virtual void split_node_data(CvDTreeNode *n)
int * num_valid
Definition: ml.hpp:697
int activ_func
Definition: ml.hpp:1973
CV_PROP_RW double step
Definition: ml.hpp:179
Mat trainProbs
Definition: ml.hpp:636
CvMat * var_importance
Definition: ml.hpp:1057
CvSVMKernelRow * prev
Definition: ml.hpp:343
CvGBTrees GradientBoostingTrees
Definition: ml.hpp:2136
union CvVectors::@334 data
CvSet * nv_heap
Definition: ml.hpp:841
bool have_priors
Definition: ml.hpp:797
CvANN_MLP NeuralNet_MLP
Definition: ml.hpp:2134
void int double rho
Definition: imgproc_c.h:603
CvMat * subsample_train
Definition: ml.hpp:1846
int int int flags
Definition: highgui_c.h:186
CvRTrees * forest
Definition: ml.hpp:983
CvMat ** sum
Definition: ml.hpp:219
CvMat int int num_features
Definition: ml.hpp:1999
virtual const int * get_cat_var_data(CvDTreeNode *n, int vi, int *cat_values_buf)
GLsizei GLsizei GLenum GLenum const GLvoid * data
Definition: core_c.h:403
int get_num_valid(int vi)
Definition: ml.hpp:712
int count
Definition: ml.hpp:2020
virtual CvDTreeSplit * find_split_ord_class(CvDTreeNode *n, int vi, float init_quality=0, CvDTreeSplit *_split=0, uchar *ext_buf=0)
CvRect r
Definition: core_c.h:1282
const CvMat const CvMat const CvMat CvMat CvMat CvMat CvMat CvSize CvMat CvMat * T
Definition: calib3d.hpp:270
size_t get_length_subbuf() const
Definition: ml.hpp:815
struct CvDTreeSplit::@342::@344 ord
double * alpha
Definition: ml.hpp:414
virtual std::string getName() const
int total
Definition: ml.hpp:279
CvParamGrid()
Definition: ml.hpp:168
CvArr const CvMat * kernel
Definition: imgproc_c.h:89
CvRNG * rng
Definition: core_c.h:652
virtual CvDTreeSplit * find_split_ord_reg(CvDTreeNode *n, int vi, float init_quality=0, CvDTreeSplit *_split=0, uchar *ext_buf=0)
CvSet * split_heap
Definition: ml.hpp:839
double rho
Definition: ml.hpp:352
int inversed
Definition: ml.hpp:668
CvRTParams RandomTreeParams
Definition: ml.hpp:2125
GLXDrawable GLXDrawable read
CvNormalBayesClassifier NormalBayesClassifier
Definition: ml.hpp:2115
struct CvParamLattice CvParamLattice
virtual CvDTreeNode * subsample_data(const CvMat *_subsample_idx)
CvDTreeParams DTreeParams
Definition: ml.hpp:2121
const char * default_model_name
Definition: ml.hpp:149
CvMat * weights
Definition: ml.hpp:1280
double min_val1
Definition: ml.hpp:1972
CV_PROP_RW CvTermCriteria term_crit
Definition: ml.hpp:992
void int step
Definition: core_c.h:403
CV_EXPORTS_W void write(FileStorage &fs, const string &name, int value)
CVAPI(void) cvRandMVNormal(CvMat *mean
CV_PROP_RW bool use_surrogates
Definition: ml.hpp:723
CV_PROP_RW double nu
Definition: ml.hpp:304
CvMat * var_importance
Definition: ml.hpp:941
double min_val
Definition: ml.hpp:91
void clear(const ColorA &color=ColorA::black(), bool clearDepthBuffer=true)
CvMat * var_types_out
Definition: ml.hpp:2092
CV_PROP_RW float shrinkage
Definition: ml.hpp:1312
Definition: types_c.h:1202
CvMat * missing
Definition: ml.hpp:1848
virtual void read(CvFileStorage *fs, CvFileNode *node)
CvSVMKernel SVMKernel
Definition: ml.hpp:2118
CvMat * cat_count
Definition: ml.hpp:809
CV_PROP Mat weights
Definition: ml.hpp:640
CvMat CvMat CvRNG *rng CV_DEFAULT(0))
std::map< std::string, int > class_map
Definition: ml.hpp:2100
const char const char * str
Definition: core_c.h:1552
CvMat * subsample_test
Definition: ml.hpp:1847
typedef void(CV_CDECL *CvMouseCallback)(int event
int depth
Definition: ml.hpp:696
CvMat * priors
Definition: ml.hpp:828
CV_PROP_RW double rp_dw_plus
Definition: ml.hpp:1883
virtual void get_vectors(const CvMat *_subsample_idx, float *values, uchar *missing, float *responses, bool get_class_idx=false)
int var_count
Definition: ml.hpp:402
CV_PROP_RW int max_categories
Definition: ml.hpp:719
int var_idx
Definition: ml.hpp:666
CV_PROP_RW bool use_1se_rule
Definition: ml.hpp:724
int dims
Definition: ml.hpp:75
int class_count
Definition: ml.hpp:1853
CvSeq ** weak
Definition: ml.hpp:1841
CvMat * active_vars_abs
Definition: ml.hpp:1273
CvMat ** count
Definition: ml.hpp:218
CvMat * class_weights
Definition: ml.hpp:306
CvDTreeNode * left
Definition: ml.hpp:690
CV_PROP_RW int kernel_type
Definition: ml.hpp:298
GLenum GLenum GLvoid * row
CvMat * cov
Definition: ml.hpp:1985
SourceFileRef load(const DataSourceRef &dataSource, size_t sampleRate=0)
int Tn
Definition: ml.hpp:686
CvSet * node_heap
Definition: ml.hpp:838
CvBoostTree BoostTree
Definition: ml.hpp:2131
CV_PROP_RW double bp_moment_scale
Definition: ml.hpp:1880
CvMat * response_out
Definition: ml.hpp:2090
cv::RNG * rng
Definition: ml.hpp:1976
double value
Definition: ml.hpp:687
CvDTreeTrainData * data
Definition: ml.hpp:1838
CvParamGrid ParamGrid
Definition: ml.hpp:2114
const _InputArray & InputArray
Definition: core.hpp:1447
double ** weights
Definition: ml.hpp:1970
CV_PROP_RW int nactive_vars
Definition: ml.hpp:991
bool have_subsample
Definition: ml.hpp:1282
virtual void read(CvFileStorage *storage, CvFileNode *node)
CvSVMSolver * solver
Definition: ml.hpp:549
CV_PROP_RW bool truncate_pruned_tree
Definition: ml.hpp:725
CV_PROP_RW double weight_trim_rate
Definition: ml.hpp:1133
Definition: types_c.h:1364
GetRow get_row_func
Definition: ml.hpp:429
int cache_line_size
Definition: ml.hpp:404
the desired accuracy or change in parameters at which the iterative algorithm stops ...
Definition: core.hpp:2098
CvDTreeNode * parent
Definition: ml.hpp:689
CvMat * sample_weights
Definition: ml.hpp:1969
CvArr const CvMat * mat
Definition: core_c.h:700
int type
Definition: ml.hpp:74
CV_EXPORTS void split(const Mat &src, Mat *mvbegin)
copies each plane of a multi-channel array to a dedicated array
int get_layer_count()
Definition: ml.hpp:1933
vector< Mat > covsRotateMats
Definition: ml.hpp:645
CalcRho calc_rho_func
Definition: ml.hpp:428
GLclampf GLclampf GLclampf alpha
Definition: core_c.h:687
CvSet * cv_heap
Definition: ml.hpp:840
int sv_count
Definition: ml.hpp:445
CvERTreeTrainData ERTreeTRainData
Definition: ml.hpp:2127
Definition: types_c.h:1272
virtual void write(CvFileStorage *storage, const char *name) const
CvDTree DecisionTree
Definition: ml.hpp:2123
vector< Mat > covsEigenValues
Definition: ml.hpp:644
double oob_error
Definition: ml.hpp:1056
double f_param2
Definition: ml.hpp:1971
const CvMat * responses
Definition: ml.hpp:802
float delta
Definition: ml.hpp:1854
CvDTreeTrainData * data
Definition: ml.hpp:942
size_t size_t CvMemStorage * storage
Definition: core_c.h:946
CvMLData TrainData
Definition: ml.hpp:2122
CV_INLINE CvParamLattice cvParamLattice(double min_val, double max_val, double log_step)
Definition: ml.hpp:97
int offset
Definition: ml.hpp:698
CvArr int CvScalar param1
Definition: core_c.h:649
CvMat * var_idx
Definition: ml.hpp:544
const CvMat CvMat CvMat int k
Definition: legacy.hpp:3052
CvBoost Boost
Definition: ml.hpp:2132
CvMat * orig_response
Definition: ml.hpp:1276
CvMat * sum_response
Definition: ml.hpp:1277
CvBoostParams BoostParams
Definition: ml.hpp:2130
int buf_size
Definition: ml.hpp:805
GLuint GLuint GLsizei count
Definition: core_c.h:973
CvSVMKernelRow lru_list
Definition: ml.hpp:408
struct CvFileStorage CvFileStorage
Definition: types_c.h:1740
CvSlice slice
Definition: core_c.h:1053
CvRTrees RandomTrees
Definition: ml.hpp:2126
CvMat CvMat * sample
Definition: ml.hpp:1985
int sample_count
Definition: ml.hpp:401
CvMat * responses_copy
Definition: ml.hpp:803
Definition: types_c.h:1828
const CvSVMParams * params
Definition: ml.hpp:323
float *(CvSVMSolver::* GetRow)(int i, float *row, float *dst, bool existed)
Definition: ml.hpp:362
int count
Definition: ml.hpp:75
Mat trainLabels
Definition: ml.hpp:638
bool mix
Definition: ml.hpp:2097
double alpha
Definition: ml.hpp:704
CvMat * counts
Definition: ml.hpp:813
CvDTreeNode * right
Definition: ml.hpp:691
CvANN_MLP_TrainParams ANN_MLP_TrainParams
Definition: ml.hpp:2133
const float * priors
Definition: ml.hpp:727
CvGBTreesParams GradientBoostingTreeParams
Definition: ml.hpp:2135
CvMat ** cov_rotate_mats
Definition: ml.hpp:223
Definition: types_c.h:645
Mat trainLogLikelihoods
Definition: ml.hpp:637
CvMemStorage * temp_storage
Definition: ml.hpp:834
GLenum GLuint GLint GLint layer
double const CvArr double beta
Definition: core_c.h:523
double upper_bound_p
Definition: ml.hpp:353
the maximum number of iterations or elements to compute
Definition: core.hpp:2096
int pruned_tree_idx
Definition: ml.hpp:945
The n-dimensional matrix class.
Definition: core.hpp:1688
virtual CvDTreeSplit * find_surrogate_split_ord(CvDTreeNode *n, int vi, uchar *ext_buf=0)
CvMat * subsample_mask
Definition: ml.hpp:1279
CV_PROP_RW int boost_type
Definition: ml.hpp:1130
int ntrees
Definition: ml.hpp:1054
char delimiter
Definition: ml.hpp:2081
Definition: types_c.h:997
CvSVMParams params
Definition: ml.hpp:539
CvMat * var_types
Definition: ml.hpp:2087
int max_iter
Definition: ml.hpp:423
CvArr * mean
Definition: core_c.h:802
Definition: core.hpp:4465
CV_WRAP int get_var_count() const
Definition: ml.hpp:519
OutputArray OutputArray labels
Definition: imgproc.hpp:823
CvMat * active_vars
Definition: ml.hpp:1272
GLuint GLuint GLsizei GLenum type
Definition: core_c.h:114
GLenum const GLfloat * params
Definition: compat.hpp:688
virtual void try_split_node(CvDTreeNode *n)
CvDTreeParams params
Definition: ml.hpp:831
CV_PROP_RW int weak_count
Definition: ml.hpp:1309
int var_count
Definition: ml.hpp:278
bool mix
Definition: ml.hpp:2025
CvMat * direction
Definition: ml.hpp:821
double upper_bound_n
Definition: ml.hpp:354
CvScalar scale
Definition: core_c.h:518
GLuint const GLchar * name
Definition: core_c.h:1546
bool have_active_cat_vars
Definition: ml.hpp:1274
SelectWorkingSet select_working_set_func
Definition: ml.hpp:427
CvMat ** inv_eigen_values
Definition: ml.hpp:222
CV_PROP vector< Mat > covs
Definition: ml.hpp:642
CvMat * sample_idx
Definition: ml.hpp:1845
CV_INLINE CvParamLattice cvDefaultParamLattice(void)
Definition: ml.hpp:107
float portion
Definition: ml.hpp:2021
CV_PROP_RW int maxIters
Definition: ml.hpp:632
CvMat int int CvMat ** responses
Definition: ml.hpp:1999
virtual double calc_node_dir(CvDTreeNode *node)
Definition: types_c.h:198
CV_PROP_RW int max_depth
Definition: ml.hpp:720
int * i
Definition: ml.hpp:657
CvMat * sum_response_tmp
Definition: ml.hpp:1844
int is_buf_16u
Definition: ml.hpp:807
CvMat * class_weights
Definition: ml.hpp:545
CvMat * test_sample_idx
Definition: ml.hpp:2103
CvMat * orig_response
Definition: ml.hpp:1842
Calc calc_func
Definition: ml.hpp:324
double obj
Definition: ml.hpp:351
CV_PROP_RW float regression_accuracy
Definition: ml.hpp:726
CvMemStorage * storage
Definition: ml.hpp:407
CvSVMDecisionFunc * decision_func
Definition: ml.hpp:546
int * cv_Tn
Definition: ml.hpp:708
CvMat * cat_map
Definition: ml.hpp:811
int cache_size
Definition: ml.hpp:403
virtual const int * get_sample_indices(CvDTreeNode *n, int *indices_buf)
int work_var_count
Definition: ml.hpp:796
CV_EXPORTS int check(const Mat &data, double min_val, double max_val, vector< int > *idx)
double * get_weights(int layer)
Definition: ml.hpp:1935
virtual void set_data(const CvMat *trainData, int tflag, const CvMat *responses, const CvMat *varIdx=0, const CvMat *sampleIdx=0, const CvMat *varType=0, const CvMat *missingDataMask=0, const CvDTreeParams ¶ms=CvDTreeParams(), bool _shared=false, bool _add_labels=false, bool _update_data=false)
Base class for high-level OpenCV algorithms.
Definition: core.hpp:4390
CvMat * var_type
Definition: ml.hpp:825
CvSVMKernelRow * next
Definition: ml.hpp:344
CvArr int CvScalar CvScalar param2
Definition: core_c.h:649
CvMat * sum_response
Definition: ml.hpp:1843
int n
Definition: legacy.hpp:3070
int var_count
Definition: ml.hpp:795
CvMat * active_var_mask
Definition: ml.hpp:1061
CV_PROP_RW double degree
Definition: ml.hpp:299
CvSeq * weak
Definition: ml.hpp:1270
unsigned char uchar
Definition: types_c.h:170
int buf_idx
Definition: ml.hpp:699
CvForestTree ForestTree
Definition: ml.hpp:2124
Definition: types_c.h:1333
double step
Definition: ml.hpp:93
CvDTreeTrainData * data
Definition: ml.hpp:1268
double const CvArr double double gamma
Definition: core_c.h:523
GLuint dst
Definition: calib3d.hpp:134
CvKNearest KNearest
Definition: ml.hpp:2116
CV_PROP_RW int split_criteria
Definition: ml.hpp:1132
float quality
Definition: ml.hpp:669
double rho
Definition: ml.hpp:444
CvMat * buf
Definition: ml.hpp:814
void * parent
Definition: core_c.h:1459
int var_count
Definition: ml.hpp:215
CvSVM SVM
Definition: ml.hpp:2120
CvMemStorage * storage
Definition: ml.hpp:547
CvDTreeTrainData * data
Definition: ml.hpp:1053
bool is_classifier
Definition: ml.hpp:798
virtual CvDTreeSplit * find_surrogate_split_cat(CvDTreeNode *n, int vi, uchar *ext_buf=0)
CvSVMKernel * kernel
Definition: ml.hpp:550
CvERTrees ERTrees
Definition: ml.hpp:2129
virtual int get_var_count() const
Definition: ml.hpp:963
double r
Definition: ml.hpp:355
unsigned short * u
Definition: ml.hpp:656
CvMat ** avg
Definition: ml.hpp:221
CvBoostParams params
Definition: ml.hpp:1269
cv::RNG * rng
Definition: ml.hpp:843
CvMat * covs[]
Definition: ml.hpp:1990
double * cv_node_risk
Definition: ml.hpp:709
const float ** samples
Definition: ml.hpp:405
CV_PROP_RW int covMatType
Definition: ml.hpp:631
CvANN_MLP_TrainParams params
Definition: ml.hpp:1975
int sv_total
Definition: ml.hpp:543
const CvSVMParams * params
Definition: ml.hpp:406
GLboolean GLenum GLenum GLvoid * values
const CvArr CvArr CvStereoBMState * state
Definition: calib3d.hpp:353
CvForestTree ** trees
Definition: ml.hpp:1052
Mat logWeightDivDet
Definition: ml.hpp:647
CvMat * class_labels
Definition: ml.hpp:1849
CV_PROP_RW int loss_function_type
Definition: ml.hpp:1310
static CvParamGrid get_default_grid(int param_id)
CV_PROP_RW double gamma
Definition: ml.hpp:300
CV_PROP_RW double p
Definition: ml.hpp:305
int max_count
Definition: ml.hpp:1974
virtual const int * get_cv_labels(CvDTreeNode *n, int *labels_buf)
double * cv_node_error
Definition: ml.hpp:710
CvForestERTree ERTree
Definition: ml.hpp:2128
CvMat float int clsnum
Definition: ml.hpp:1990
int class_idx
Definition: ml.hpp:685
double * alpha
Definition: ml.hpp:446
CvMat * subtree_weights
Definition: ml.hpp:1281
double max_val
Definition: ml.hpp:92
CvMat int num_samples
Definition: ml.hpp:1999
CV_EXPORTS OutputArray noArray()
CV_PROP_RW CvTermCriteria term_crit
Definition: ml.hpp:307
float * data
Definition: ml.hpp:345
virtual bool train(const CvMat *trainData, int tflag, const CvMat *responses, const CvMat *varIdx=0, const CvMat *sampleIdx=0, const CvMat *varType=0, const CvMat *missingDataMask=0, CvRTParams params=CvRTParams())
int condensed_idx
Definition: ml.hpp:667
CV_PROP_RW int svm_type
Definition: ml.hpp:297
virtual bool train(const CvMat *trainData, int tflag, const CvMat *responses, const CvMat *varIdx=0, const CvMat *sampleIdx=0, const CvMat *varType=0, const CvMat *missingDataMask=0, CvDTreeParams params=CvDTreeParams())
virtual void get_ord_var_data(CvDTreeNode *n, int vi, float *ord_values_buf, int *sorted_indices_buf, const float **ord_values, const int **sorted_indices, int *sample_indices_buf)
double * b
Definition: ml.hpp:420
const CvMat * missing_mask
Definition: ml.hpp:1084
float base_value
Definition: ml.hpp:1855
CvVectors * samples
Definition: ml.hpp:281
int nsamples
Definition: ml.hpp:1058
CvDTreeSplit * split
Definition: ml.hpp:693
int response_idx
Definition: ml.hpp:2094
CvMat * values
Definition: ml.hpp:2085
CV_PROP_RW double max_val
Definition: ml.hpp:178
virtual CV_WRAP void clear()
CvMat * c
Definition: ml.hpp:224
CvSVMSolver SVMSolver
Definition: ml.hpp:2119
cv::RNG * rng
Definition: ml.hpp:1851
CvPoint3D64f double * dist
Definition: legacy.hpp:556
Proxy datatype for passing Mat's and vector<>'s as input parameters.
Definition: core.hpp:1400
double tree_risk
Definition: ml.hpp:705
double maxlr
Definition: ml.hpp:700
CvMat * var_idx_mask
Definition: ml.hpp:2088
CV_PROP_RW int min_sample_count
Definition: ml.hpp:721
int int sample_count
Definition: legacy.hpp:1177
virtual void calc_node_value(CvDTreeNode *node)
CvVectors * next
Definition: ml.hpp:76
double double * max_val
Definition: core_c.h:833
bool regression
Definition: ml.hpp:280
int complexity
Definition: ml.hpp:703
CvStatModel StatModel
Definition: ml.hpp:2113
virtual CvDTreeSplit * find_best_split(CvDTreeNode *n)
CvDTreeNode * root
Definition: ml.hpp:940
schar * y
Definition: ml.hpp:419
int nclasses
Definition: ml.hpp:1055
vector< Mat > invCovsEigenValues
Definition: ml.hpp:646
virtual CvDTreeSplit * find_split_cat_class(CvDTreeNode *n, int vi, float init_quality=0, CvDTreeSplit *_split=0, uchar *ext_buf=0)
int var_all
Definition: ml.hpp:541
CvMat * var_idx_out
Definition: ml.hpp:2091
CvMat ** productsum
Definition: ml.hpp:220