OPENCV 随机森林使用

RandomTree.h

#ifndef RANDOM_TREE_H
#define RANDOM_TREE_H
#include <opencv2/core/core.hpp>
#include <opencv2/ml/ml.hpp>
#include <string>
#include <vector>
#include <iostream>

using namespace cv;
using namespace std;

class RandomTree
{
   
public:
    RandomTree(string name);
    void set_train_data_(vector<vector<float>> &train_data, vector<int> &label);
    void Train();
    void Save();
    float AccOnTrain();
    int Predict(vector<float> &f);
private:
    string name_;
    Ptr<ml::TrainData> train_data_;
    Ptr<ml::RTrees> forest_;
};

RandomTree::RandomTree(string name)
{
   
    name_ = name;
    forest_ = cv::ml::RTrees::create();
    forest_->setMaxDepth(10); //树的最大深度
    forest_->setPriors(cv::Mat());
    forest_->setRegressionAccuracy(0.01); //设置回归精度
    //终止标准
    forest_->setTermCriteria(cv::TermCriteria(cv::TermCriteria::MAX_ITER + cv::TermCriteria::EPS, 100, 0.01));
    forest_->setMinSampleCount(10); //节点的最小样本数量
    forest_->setUseSurrogates(false);
    forest_->setMaxCategories(
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刀么克瑟拉莫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值