如何在OpenCV 4.1随机树中设置树数?

时间:2019-08-07 12:55:44

标签: opencv c++11 random-forest

我最近开始使用OpenCV 4.1。我正在尝试训练随机森林模型。

auto rTrees = cv::ml::RTrees::create();
rTrees->setMaxDepth(5);
rTrees->setMinSampleCount(3);
rTrees->setTermCriteria(cv::TermCriteria(cv::TermCriteria::MAX_ITER + cv::TermCriteria::EPS, 100, 0.1));
rTrees->setActiveVarCount(0);
rTrees->setTruncatePrunedTree(true);
rTrees->train(data, cv::ml::ROW_SAMPLE, labels);

这会训练模型,以后我保存模型。 在重新加载模型时,我尝试在训练时读取我为模型设置的值。

auto rTrees = cv::ml::RTrees::create();
rTrees = cv::ml::StatModel::load<cv::ml::RTrees>(path);

int treeCount = rTrees->getTermCriteria().maxCount;

无论训练时设置什么值,我都会将maxCount值设为50,这是默认值。

我还签入了保存模型ntrees标签的xml文件,其值为1

您知道我在做什么错吗,或者在训练时如何设置树的数量,并在重新加载时从保存的模型中读取树的数量?

0 个答案:

没有答案