Holen Sie sich SVM-Klassifikation score in der multiclass Klassifizierung mit OpenCV
Arbeite ich an einem Projekt, wo ich dabei bin multiclass Klassifizierung mit SVM in OpenCV.
Mein Ziel ist es, das Vertrauen score für die Klassifikation sowie die vorhergesagte Klasse.
Wie kann ich das tun? Jetzt mache ich etwas, das wie
float result = mysvm.predict(sample);
Dass eine ziemlich hohe Anzahl von Klassen die ich bevorzuge, um zu vermeiden, tun eine Menge von one-vs-all-Einstufungen und berechnen dann die erzielt.
Da OpenCV SVM implementiert ist die Verwendung von LibSVM, ich bin mir ziemlich sicher, dass es einen Weg gibt, um dies zu tun, aber mit Blick auf http://docs.opencv.org/modules/ml/doc/support_vector_machines.html nicht wirklich helfen.
Vielen Dank für jeden input zur Verfügung gestellt.
Du musst angemeldet sein, um einen Kommentar abzugeben.
In opencv/include/opencv2/ml/ml.hpp, es ist ein struct namens CvSVMDecisionFunc.. Es hat in der Linie 546 als Geschützte Variable,
Was Sie tun müssen, ist schneiden Sie diese Zeile und fügen Sie es als Öffentlichen und führen Sie dann eine vollständige Neuerstellung von OpenCV.. Diese variable, decision_func enthält alle Daten, die für bestimmte support-Vektoren (dh, das alpha und rho-Werte)..
bool returnDFVal=false
impredict()
Funktion tut, was ich brauche, aber nur für die binäre Klassifikation. Kein Weg, um es für multiclass Klassifizierung?- rho: -0.9667...
- sv_count: 1
- alpha: {1.00...}
- sv_index: 0
Nicht ganz das, was ich erwartet habe..sollte ich keine haben eine Reihe von support-Vektor, der die Anzahl der Klassen, die ich benutze für die Einstufung?returnDFVal
für multiclass problem. In Bezug auf diesv_count
, Sie haben Recht, es sollte in übereinstimmung mit der Anzahl der Klassen (in diesem Fall die Etiketten, die Sie bieten, während der SVM-Trainingsphase).. Im Allgemeinen, ich versuche es mal mit -1.0 für negative Proben und single-point-positive schwebt für den rest..decision_func
geschützt ist, können Sie verlängernCvSVM
Klasse und den Zugriff auf diese variable von der erweiterten Klasse. Dieser Weg ist besser.