我正在使用16类问题的决策树。我将参数设置为
CvDTreeParams params = CvDTreeParams(50, // max depth
100,// min sample count
0, // regression accuracy: N/A here
true, // compute surrogate split, no missing data
16, // max number of categories (use sub-optimal algorithm for larger numbers)
5, // the number of cross-validation folds
false, // use 1SE rule => smaller tree
false, // throw away the pruned tree branches
priors // the array of priors
);
CvDTree* dtree = new CvDTree();
dtree->train(data, CV_ROW_SAMPLE, classes,
Mat(), Mat(), var_type, Mat(), params);
但是生成的树最多只能提供25个深度。它没有增加深度。我在Matlab上尝试了相同的数据,树深度为50. OpenCV中的树深度是否有任何限制?
答案 0 :(得分:2)
OpenCV源代码中最大深度的硬限制为25。因此必须更改二进制文件才能使其正常工作。