使用 OpenCV 在多类分类中获取 SVM 分类分数

Get SVM classification score in multiclass classification with OpenCV

本文关键字:分类 获取 SVM 使用 OpenCV      更新时间:2023-10-16

我正在做一个项目,我在OpenCV中使用SVM进行多类分类。

我的目标是获得分类的置信度分数以及预测的类。我该怎么做?现在我正在做类似的事情

float result = mysvm.predict(sample);

有相当多的类,我宁愿避免做很多一对一的分类,然后计算分数。

由于OpenCV SVM是使用LibSVM实现的,我很确定有一种方法可以做到这一点,但是查看 http://docs.opencv.org/modules/ml/doc/support_vector_machines.html 并没有真正的帮助。

感谢您提供的任何输入。

opencv/include/opencv2/ml/ml.hpp中,有一个名为CvSVMDecisionFunc的结构。它已在第 546 行用作受保护变量

CvSVMDecisionFunc* decision_func;

你需要做的是剪切该行并将其粘贴为公共,然后对OpenCV进行完整的重建。此变量decision_func包含特定支持向量的所有数据(即 alpha 和 rho 值)。