Python - Scikit findet Variablenbedeutung für kategoriale Variablen

8

Ich versuche scikit in Python zu lernen, um ein paar verschiedene Klassifikator-Probleme zu lösen (RF, GBM, etc). Neben dem Erstellen von Modellen und Vorhersagen möchte ich eine variable Bedeutung sehen. Ich weiß, dass es eine Möglichkeit gibt, die Wichtigkeit zu bekommen.

%Vor%

Aber wie bekomme ich etwas raffinierteres, das die Bedeutung hat, die mit dem Variablennamen verbunden ist (zB summary(gbm) in R oder varImp(randomForest) in R), besonders wenn es sich um eine kategoriale Variable mit mehreren Ebenen handelt?

    
screechOwl 19.03.2015, 23:59
quelle

1 Antwort

3

Die Wichtigkeit der Variablen (oder die Wichtigkeit der Funktion) wird für alle Features berechnet, denen Sie Ihr Modell anpassen. Dieser Pseudocode gibt Ihnen eine Vorstellung davon, wie Variablennamen und Wichtigkeit in Beziehung gesetzt werden können:

%Vor%

Sie werden sehen, dass die Längen der zwei Listen, die gedruckt werden, gleich sind - Sie können die Listen im Wesentlichen zusammenstellen oder sie wie gewünscht manipulieren. Wenn Sie die Wichtigkeit einer Variablen in einem Plot schön anzeigen möchten, können Sie dies verwenden:

%Vor%

Wenn Sie diese Methode nicht verwenden möchten (das heißt, Sie passen alle Spalten an, nicht nur einige, wie in cols Variable festgelegt), dann könnten Sie die Spalten- / Feature- / Variablennamen Ihrer Daten erhalten train.columns.values (und dann diese Liste zusammen mit der Variablen-Wichtigkeitsliste zuordnen oder auf andere Weise manipulieren).

    
kasparg 21.05.2015 16:21
quelle