OpenCV SVM预测置信度有3个类别
OpenCV SVM prediction confidence with 3 classes
我真的需要知道我的预测的可信度,而OpenCV的SVM预测方法确实给了我"returnDFVal"的选项:
returnDFVal–指定返回值的类型。如果为真且问题是2类分类,然后该方法返回决策到边距的带符号距离的函数值,否则函数返回类标签(分类(或估计函数值(回归(。
不幸的是,我有3个类,所以这对我来说不起作用。有什么方法可以绕过这个或其他方法来确定我的预测的可信度吗?
预测概率还不可能,但有一种方法可以从幕后获得libsvm
,请在这里找到我的答案。
使用opencv 3.x:
float distanceSample(cv::Mat &sample)
{
assert(svm != NULL && svm->isTrained());
assert(!sample.empty());
cv::Mat result;
svm->predict(sample, result, cv::ml::StatModel::Flags::RAW_OUTPUT);
float dist = result.at<float>(0, 0);
return dist;
}
float dist = distanceSample(yourSample);
float confidence = (1.0 / (1.0 + exp(-dist)));
PS。这只适用于2类分类。
相关文章:
- 比较并显示使用最小值(a,b)和最大值(a、b)升序排列的4个数字
- 删除一个线程上有数百万个字符串的大型哈希映射会影响另一个线程的性能
- 如何在C++中从两个单独的for循环中添加两个数组
- 为什么两个不同的未命名名称空间可以共存于一个cpp文件中
- 模板-模板参数推导:三个不同的编译器三种不同的行为
- 处理多个异常集合的C++方法
- 什么时候在C++中返回常量引用是个好主意
- 给定n个元素的m个集合.在C++中找到出现在最大集合数中的元素
- 当在同一名称空间中有两个具有相同签名的函数时,会发生什么
- 尝试通过多个向量访问变量时,向量下标超出范围
- Ardunio UNO解决了多个重叠的定时器循环
- 如何返回一个类的两个对象相加的结果
- 如何使用OpenCV将RBG图像转换为HSV,并将H、S和V值保存为C++中的3个独立图像
- 是否可以通过C++扩展强制多个python进程共享同一内存
- 数到第n个楼梯的路(顺序无关紧要)
- 基于多个条件处理地图中的所有元素
- 为多个会话保留XPtr
- 如何使用 dlib 训练或合并多个 .svm 并检测多个类
- 如何使用多个 SVM 分类器(每个分类器都有一个特定的内核)作为"one vs rest classification"方案?
- OpenCV SVM预测置信度有3个类别