1
我用opencv做隨機森林,並且我已經成功地建立了森林。但是之後我需要使用predict_prob來知道樣本屬於第二類的確切機會。 我現在如何工作,但有一個錯誤說我的森林不是二元分類,我不能使用predict_prob。我如何製作我的森林二進制文件?我嘗試了很多方法並且到處搜索,但是對此沒有任何線索。無法形成二進制分類並使用predict_prob():隨機森林,opencv
這裏是我的代碼
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));
,並在此之後,我可以使用預測()正確,但我不能用是U使用