sklearn logistische Regression - wichtige Merkmale

8

Ich bin mir ziemlich sicher, dass es schon einmal gefragt wurde, aber ich kann keine Antwort finden

Logistische Regression mit sklearn auf Python ausführen, kann ich transformieren Meine Datenmenge zu den wichtigsten Funktionen mit der Transform-Methode

%Vor%

Wie kann ich feststellen, welche Funktionen als am wichtigsten ausgewählt wurden? allgemeiner wie kann ich den p-Wert jedes Merkmals im Datensatz berechnen?

    
mel 17.06.2014, 04:28
quelle

3 Antworten

3

LogisticRegression.transform verwendet einen threshold -Wert, der bestimmt, welche Features beibehalten werden sollen. Direkt aus dem Docstring:

Schwellenwert: string, float oder None, optional (Standardwert = None)         Der Schwellenwert, der für die Featureauswahl verwendet werden soll. Funktionen, deren         Wichtigkeit ist größer oder gleich gehalten, während die anderen sind         verworfen. Wenn "median" (bzw. "mean"), dann ist der Schwellenwert         der Median (bzw. der Mittelwert) der Feature-Importanzen. Eine Skalierung         Faktor (z. B. "1,25 * Mittelwert") kann ebenfalls verwendet werden. Wenn Kein und Wenn         verfügbar, wird das Objektattribut threshold verwendet. Andernfalls,         "mean" wird standardmäßig verwendet.

Es gibt kein Objektattribut threshold auf LR-Schätzern, daher werden standardmäßig nur die Merkmale mit einem höheren absoluten Wert als der Mittelwert (nach der Summierung über die Klassen) beibehalten.

    
Fred Foo 18.06.2014 10:16
quelle
1

Sie können die Koeffizienten im Attribut coef_ des angepassten Modells betrachten, um zu sehen, welche Merkmale am wichtigsten sind. (Für LogisticRegression sucht alle transform , welche Koeffizienten im absoluten Wert am höchsten sind.)

Die meisten Scikit-Lern-Modelle bieten keine Möglichkeit, p-Werte zu berechnen. Im Großen und Ganzen sind diese Modelle so ausgelegt, dass sie dazu verwendet werden können, Ausgaben vorherzusagen, die nicht inspiziert werden müssen, um zu verstehen, wie die Vorhersage gemacht wird. Wenn Sie an p-Werten interessiert sind, können Sie sich statsmodels ansehen, obwohl es etwas weniger ausgereift ist als sklearn.

>     
BrenBarn 17.06.2014 04:36
quelle
1

Wie in den obigen Kommentaren vorgeschlagen, können (und sollten) Sie Ihre Daten vor der Anpassung skalieren, um die Koeffizienten vergleichbar zu machen. Unten ist ein kleiner Code um zu zeigen, wie das funktionieren würde. Ich folge this Format zum Vergleich.

%Vor%     
Keith 08.11.2017 22:54
quelle