2012-08-31 3 views
5

Ich benutze die Python-Schnittstelle für libsvm, und was ich bemerke, ist, dass nach der Auswahl der besten und gamma Parameter (RBF-Kernel) Rastersuche, wenn ich Trainieren Sie das Modell und kreuzen Sie es an (5-fach, wenn es relevant ist), die Genauigkeit, die ich erhalte, ist die gleiche wie das Verhältnis der Labels in meinem Trainingsdatensatz.libsvm - Kreuz Validierungsgenauigkeit wie das Verhältnis der Etiketten

Ich habe 3947 Proben, und 2898 von ihnen haben Label -1, und der Rest hat Label 1. Also das sind 73,4229% der Proben.

Und wenn ich das Modell und die Quer validieren 5 Falten trainieren, ist es das, was ich bekommen -

optimization finished, #iter = 1529 
nu = 0.531517 obj = -209.738688, 
rho = 0.997250 nSV = 1847, nBSV = 1534 
Total nSV = 1847 
Cross Validation Accuracy = 73.4229% 

Bedeutet dies, dass die SVM nicht die Eigenschaften berücksichtigt? Oder dass es hier die fehlerhaften Daten sind? Sind sie beide miteinander verwandt? Ich bin einfach nicht in der Lage, es über die 73.4229-Nummer zu bekommen. Außerdem soll die Anzahl der Unterstützungsvektoren viel kleiner als die Größe des Datensatzes sein, aber in diesem Fall scheint es nicht so.

Was bedeutet im Allgemeinen, wenn die Genauigkeit der Kreuzvalidierung mit dem Verhältnis der Bezeichnungen im Datensatz übereinstimmt?

Antwort

6

Ihr Datensatz ist unausgeglichen, was bedeutet, dass ein großer Prozentsatz derselben Klasse angehört. Dies führt zu einem sogenannten Standard- oder Mehrheitsklassen-Klassifizierer, bei dem eine hohe Genauigkeit erzielt wird, indem einfach alles als Teil der Mehrheitsklasse klassifiziert wird. Sie haben also recht, dass die Features aufgrund der Daten nicht berücksichtigt werden.

Die libsvm README schlägt vor, die Strafgewichte zu variieren, um damit umzugehen. Und hier ist eine verwandte Frage: https://stats.stackexchange.com/questions/20948/best-way-to-handle-unbalanced-multiclass-dataset-with-svm

Weitere Informationen zu unsymmetrischen Daten finden Sie in Abschnitt 7 von A User's Guide to Support Vector Machines.