Wie kann ich die relative Bedeutung von Merkmalen einer logistischen Regression für eine bestimmte Vorhersage ermitteln?

Ich verwende eine logistische Regression (in scikit) für ein Binärklassifizierungsproblem und bin daran interessiert, jede einzelne Vorhersage erklären zu können. Genauer gesagt bin ich daran interessiert, die Wahrscheinlichkeit der positiven Klasse vorherzusagen und ein Maß für die Wichtigkeit jedes Merkmals für diese Vorhersage zu haben.

ie Verwendung der Koeffizienten (Betas) als Maß für die Wichtigkeit ist im Allgemeinen eine schlechte Ideals hier beantwortet, aber ich muss noch eine gute Alternative finden.

So weit das Beste, was ich gefunden habe, sind die folgenden 3 Optionen:

Monte Carlo Option: Wenn Sie alle anderen Funktionen korrigieren, führen Sie die Vorhersage erneut aus und ersetzen Sie die Funktion, die Sie auswerten möchten, durch Zufallsstichproben aus dem Trainingssatz. Tun Sie dies eine große Anzahl von Malen. Dies würde ein @ etablierbaseline Wahrscheinlichkeit für die positive Klasse. Dann vergleiche mit dem Wahrscheinlichkeit der positiven Klasse des ursprünglichen Laufs. Der Unterschied ist ein Maß für die Wichtigkeit des Merkmals. "Auslassen" -Klassifikatoren: Um die Wichtigkeit eines Features zu bewerten, erstellen Sie zuerst ein Modell, das alle Features verwendet, und dann ein anderes, das alle Features außer dem zu testenden verwendet. Prognostizieren Sie die neue Beobachtung mit beiden Modellen. Der Unterschied zwischen den beiden wäre die Wichtigkeit des Merkmals. Angepasste Betas: Beyogen aufdiese Antwort, Ranking der Wichtigkeit der Features nach 'Die Größe seines Koeffizienten multipliziert mit der Standardabweichung des entsprechenden Parameters in den Daten.'

Alle Optionen (mit Betas, Monte Carlo und "Leave-one-out") scheinen mir schlechte Lösungen zu sein.

Der Monte Carlo hängt von der Verteilung des Trainingssatzes ab, und ich kann keine Literatur finden, die ihn unterstützt.Das "Lass eins aus" würde leicht durch zwei korrelierte Merkmale ausgetrickst werden (wenn eines abwesend wäre, würde das andere eingreifen, um dies zu kompensieren, und beiden würde die Bedeutung 0 gegeben).Die angepassten Betas klingen plausibel, aber ich kann keine Literatur finden, die dies unterstützt.

Aktuelle Frage: Wie lässt sich die Wichtigkeit jedes Merkmals im Moment einer Entscheidung mit einem linearen Klassifikator am besten interpretieren?

Quick note # 1: Für Random Forests ist dies trivial, wir können einfach dasprediction + bias Zersetzung, wie schön in @ erklädieser Blog-Beitrag. Das Problem hier ist, wie man mit linearen Klassifikatoren wie der logistischen Regression etwas Ähnliches macht.

Quick note # 2: Es gibt eine Reihe von Fragen zum Stackoverflow 1 2 3 4 5). Ich konnte auf diese spezielle Frage keine Antwort finden.

Antworten auf die Frage(4)

Ihre Antwort auf die Frage