从 svm 中获取概率

Get a probability out of svm

本文关键字:概率 获取 svm      更新时间:2023-10-16

我已经训练了一个有 6 个类的 SVM。

在OpenCV中使用SVM时是否有可能获得概率?

谢谢。

SVM 没有为输出类提供概率,而是为预测类提供欧几里得距离。

以下电话predict将通过pred返回您的班级编号

cv::Mat pred;
cv::Mat sample; 
...
svm->predict(sample, pred);

下面会给你欧几里得距离通过pred

svm->predict(sample, pred, cv::ml::StatModel::RAW_OUTPUT);

SVM 不是概率分类器,因此无法获得准确的概率。您可以从 SVM 获得的是一个分数值:returnFDValue 该值可以像概率一样进行插入。

double cv::ml::SVM::predict(const cv::Mat & data, double & returnFDValue);