Skalierung von Daten in scikit-learn SVM

8

Während libsvm Werkzeuge zum Skalieren von Daten zur Verfügung stellt, kann ich mit Scikit-Learn (das auf libSVM für den SVC-Klassifikator basieren sollte) keine Möglichkeit finden, meine Daten zu skalieren.

Grundsätzlich möchte ich 4 Funktionen verwenden, von denen 3 von 0 bis 1 reichen und die letzte ist eine "große" stark variable Zahl.

Wenn ich das vierte Feature in libSVM einfüge (mit dem Skript easy.py, das meine Daten automatisch skaliert), erhalte ich sehr gute Ergebnisse (96% Genauigkeit). Wenn ich die vierte Variable in Scikit-Learn einfüge, sinkt die Genauigkeit auf ~ 78% - aber wenn ich sie ausschließe, erhalte ich die gleichen Ergebnisse wie in libSVM, wenn ich diese Funktion ausschließe. Daher bin ich mir ziemlich sicher, dass es ein Problem der fehlenden Skalierung ist.

Wie repliziere ich den Skalierungsprozess von SVM programmatisch (d. h. ohne Aufruf von svm-scale)?

    
luke14free 10.11.2012, 17:03
quelle

1 Antwort

6

Sie haben diese Funktionalität in sklearn.preprocessing :

%Vor%

Die Daten haben dann eine Null- und eine Einheitsvarianz.

    
Maehler 10.11.2012, 17:08
quelle

Tags und Links