我正在开发一个项目,我在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;
您需要做的是剪切该行并将其粘贴为Public,然后完成OpenCV的重建.此变量,decision_func包含特定支持向量的所有数据(即alpha和rho值).