I'm working on a project where I'm doing multiclass classification with SVM in OpenCV.
My goal is to get the confidence score of the classification as well as the predicted class. How can I do that? Right now I'm doing something like
float result = mysvm.predict(sample);
Having a fairly high amount of classes I prefer to avoid doing a lot of one-vs-all classifications and then calculate the scores.
Since OpenCV SVM is implemented using LibSVM, I'm quite sure that there is a way to do this, but looking at http://docs.opencv.org/modules/ml/doc/support_vector_machines.html doesn't really help.
Thanks for any input provided.
In opencv/include/opencv2/ml/ml.hpp, there is a struct called CvSVMDecisionFunc.. It has been used in line 546 as a Protected Variable,
CvSVMDecisionFunc* decision_func;
What you need to do is to cut that line and paste it as Public and then do a complete rebuild of OpenCV.. This variable, decision_func contains all the data for specific support vectors (ie, the alpha and rho values)..
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With