我正在寻找一种方法来获得使用opencv SVM进行多类预测的预测置信度。到目前为止我发现了什么:
//data is a cv::Mat containing the samples to be predicted in format (num_samples,dimension,CV_32F)
//SVM_classifier is a trained opencv SVM classifier
cv::Mat predLabels(data.rows,1,CV:32F);
cv::Mat predProb(data.rows,1,CV_32F);
predProb = SVM_classifier->predict(data,predLabels,cv::ml::StatModel::RAW_OUTPUT);
执行此代码,我得到了相当不错的预测结果(Fmeasure大约0.95),但predProb
矩阵只包含' 0' ...有人可以帮助我获得正确的结果吗?问题是我有多类问题而不是二元问题吗?
使用cv::ml::StatModel::RAW_OUTPUT
代替cv::ml::SVM::Flags::RAW_OUTPUT
有什么区别?无论我使用哪一个,我都会得到一个用零填充的向量...任何帮助都是值得赞赏!!