- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我用opencv做随机森林,我已经成功地建立了森林。但是我需要使用 predict_prob 来知道样本属于第二类的确切机会。
我现在它是如何工作的,但是有一个错误说我的森林不是二元分类,我不能使用 predict_prob。如何使我的森林二进制文件?我尝试了很多方法并到处搜索,但没有找到任何线索。
这是我的代码
CvMat* data = 0;
CvMat* responses = 0;
CvMat* var_type = 0;
//I skipped some lines
data=cvCreateMat(row_s,1024,CV_32FC1);
responses=cvCreateMat(row_s,1,CV_32FC1);
//load data and responses, responses consist of only 1 and 0
var_type = cvCreateMat( data->cols + 1, 1, CV_8U );
cvSet( var_type, cvScalarAll(CV_VAR_ORDERED) );
cvSetReal1D( var_type, data->cols, CV_VAR_CATEGORICAL );
CvRTrees forest;
forest.train(data, CV_ROW_SAMPLE, responses, 0, 0, var_type, 0,
CvRTParams( 5, 20, 0, false, 2, 0, false, 100, 10, 0, CV_TERMCRIT_ITER ));
最佳答案
你用的是哪个版本的opencv?
我对 2.4.3 版做同样的事情。我看到我们所做的唯一主要区别是我使用的是 c++ 风格的代码。
这是我的代码,这对我有用。
void train(){
cv::Mat types(numberOfClassifierDimensions + 1, 1, CV_8UC1);
types.setTo(cv::Scalar(CV_VAR_NUMERICAL));
types.at<char>(numberOfClassifierDimensions, 0) = CV_VAR_CATEGORICAL;
cv::Mat dataset(0, numberOfClassifierDimensions, CV_32FC1);
cv::Mat classes(0, 1, CV_8UC1);
for (int i = 0 ; i < featureWeightsPositive.rows ; ++i){
dataset.push_back(featureWeightsPositive.row(i));
classes.push_back(1);
}
for (int i = 0 ; i < featureWeightsNegative.rows; ++i){
dataset.push_back(featureWeightsNegative.row(i));
classes.push_back(0);
}
classifier.train(dataset, classes, types);
}
//the classifier.train() function
void train(cv::Mat trainingData, cv::Mat classifications, cv::Mat varType){
std::vector<float> priorsVect(numberOfClasses, 1);
float* priors = &priorsVect[0];
// define the parameters for training the random forest (trees)
CvRTParams params = CvRTParams(25, 5, 0, false, 15, priors, false, 4, 100, 0.01f, CV_TERMCRIT_ITER | CV_TERMCRIT_EPS );
// train random forest classifier (using training data)
rtree->train(trainingData, CV_ROW_SAMPLE, classifications,
cv::Mat(), cv::Mat(), varType, cv::Mat(), params);
}
rtree->predict_prob(sample);
关于opencv - 未能形成二分类并使用 predict_prob() : Random Forest, opencv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13868970/
我使用 caret 包训练随机森林,包括重复交叉验证。我想知道是否使用了 Breiman 的原始 RF 中的 OOB,或者它是否被交叉验证所取代。如果它被替换,我是否具有 Breiman 2001 中
我使用 caret 包训练随机森林,包括重复交叉验证。我想知道是否使用了 Breiman 的原始 RF 中的 OOB,或者它是否被交叉验证所取代。如果它被替换,我是否具有 Breiman 2001 中
我使用 H2O 构建 GBM、DRF 和 DL 等分类模型。我拥有的数据集包含一些分类列,如果我想将它们用作构建模型的特征,我是否需要手动将它们转换为虚拟变量?我读到 GBM 可以在内部虚拟化分类变量
我有关于调整随机森林分类器的基本问题。树的数量和树的深度有关系吗?树深度是否必须小于树的数量? 最佳答案 我同意 Tim 的观点,即树的数量和树的深度之间没有拇指比。通常,您需要尽可能多的树来改进您的
目前,我正在使用mlgradle设置Marklogic实例以自动执行部署过程。 我正在基于json配置文件路径(ml-config \ forests \ db-name \ file.json)创建
我正在与 ranger 合作,随机森林的快速实现。问题是我不知道如何解释结果的 $forest 部分。该文件只是说 forest: Saved forest (If write.forest set
我希望使用 Isolation Forest 对某些系统时间序列数据进行离群值检测。在我的例子中,特征的规模是多种多样的。我的直觉告诉我应该规范化数据,但我不记得原始 Iso Forest 论文中有这
我正在使用此代码来检测 face_spoofing import numpy as np import cv2 import joblib from face_detector import get_
这是我的代码: set.seed(1) #Boruta on the HouseVotes84 data from mlbench library(mlbench) #has HouseVotes84
我正在尝试使用 sklearn 中的隔离森林算法检测数据框中的异常值。 这是我用来设置算法的代码: iForest = IsolationForest(n_estimators=100, max_sa
我正在尝试使用 sklearn 中的隔离森林算法检测数据框中的异常值。 这是我用来设置算法的代码: iForest = IsolationForest(n_estimators=100, max_sa
关闭。这个问题需要更多 focused .它目前不接受答案。 想改进这个问题?更新问题,使其仅关注一个问题 editing this post . 上个月关门。 Improve this questi
在R包randomForest中,将参数keep.Forest设置为True有什么作用? library(randomForest) rf_model <- randomForest(rf_train
我如何使用不相交的集合森林来安排有惩罚的作业,从而使惩罚最小化? 我们可以先根据惩罚降序排列作业。森林的每个节点 x 将代表作业编号,值 rank[x] 将代表其惩罚。但是我怎样才能最小化这个值 ra
我知道深度优先搜索的工作原理以及实现方法,但我一直在我的教科书中看到 DFS-Forest 组件被引用,但我不完全确定它的含义。我知道图的一个组件是与其他组件断开连接的子图。那么什么是 DFS-For
题目地址:https://leetcode.com/problems/delete-nodes-and-return-forest/ 题目描述 Given the root of a binary
当我运行这段代码时: from yellowbrick.classifier import ROCAUC from sklearn.ensemble import RandomForestClassi
我正在尝试通过 ARM 模板创建 Windows 虚拟机、AD 林、域和 DC。 我正在使用这里的模板: https://github.com/Azure/azure-quickstart-templ
我用opencv做随机森林,我已经成功地建立了森林。但是我需要使用 predict_prob 来知道样本属于第二类的确切机会。 我现在它是如何工作的,但是有一个错误说我的森林不是二元分类,我不能使用
早上好/下午好/晚上好。 因此,我们的数据结构类(class)给了我们一个作业,使用以下算法在 java 中分割灰度图像: Input: A gray-scale image with P pixel
我是一名优秀的程序员,十分优秀!