Wie verwende ich den Gewichtsvektor von SVM und die logistische Regression für die Wichtigkeit von Merkmalen?

7

Ich habe einen SVM- und logistischen Regressionsklassifikator für die binäre Klassifizierung in meinem Datensatz trainiert. Beide Klassifikatoren liefern einen Gewichtsvektor, der der Größe der Anzahl von Merkmalen entspricht. Ich kann diesen Gewichtsvektor verwenden, um die 10 wichtigsten Merkmale auszuwählen. Dafür habe ich die Gewichte durch einen Permutationstest in T-Scores umgewandelt. Ich habe 1000 Permutationen der Klassenbezeichnungen durchgeführt und bei jeder Permutation den Gewichtsvektor berechnet. Am Ende habe ich den Mittelwert der permutierten Gewichte von den realen Gewichten subtrahiert und durch die Standardabweichung der permutierten Gewichte geteilt. Also habe ich jetzt T-Scores.

Sollte ich die absoluten Werte der t-Scores verwenden, dh die 10 Merkmale mit den höchsten absoluten Werten auswählen? Nehmen wir also an, die Funktionen haben die folgenden T-Scores:

feature 1: 1.3
feature 2: -1.7
feature 3: 1.1
feature 4: -0.5

Wenn ich die 2 wichtigsten Merkmale unter Berücksichtigung der höchsten absoluten Werte auswähle, würden Merkmal 1 und 2 gewinnen. Wenn ich die absoluten Werte nicht berücksichtige, würden Merkmal 1 und 3 gewinnen.

Zweitens funktioniert dies nur für SVM mit linearem Kernel, aber nicht mit RBF-Kernel, wie ich gelesen habe. Für nichtlineare Kernel sind die Gewichte irgendwie nicht mehr linear. Was ist der genaue Grund, warum der Gewichtsvektor nicht verwendet werden kann, um die Wichtigkeit von Merkmalen im Fall einer nichtlinearen Kernel-SVM zu bestimmen?

Maschinen
quelle

Antworten:

2

1) Angenommen, Sie haben Ihre Daten ordnungsgemäß vorverarbeitet, würde ich den absoluten Wert des Gewichts berücksichtigen. Ein negativer Wert bedeutet nur, dass er sich negativ auf das Ergebnis auswirkt, aber ein großes negatives Gewicht ist immer noch signifikant. (Beachten Sie, dass dies nicht gilt, wenn die Daten nicht standardisiert sind.)

2) Wenn Sie einen nichtlinearen Kernel verwenden, ist das Gewicht nur in dem höherdimensionalen Raum sinnvoll, in dem der Kernel existiert. Im Fall des RBF-Kernels hat dieser Raum eine unendliche Dimension, die Ihr Leben schwerer macht. Wenn Sie einen Polynomkern verwenden würden, wären die Gewichte immer noch nützlich, aber einige Gewichte würden Potenzterme oder Interaktionsterme darstellen. Schauen Sie sich diesen Beitrag an

Wie kann man intuitiv erklären, was ein Kernel ist?

Xavier Bourret Sicotte
quelle