Ich habe mit zufälligen Wäldern für die Regression herumgespielt und habe Schwierigkeiten, genau herauszufinden, was die beiden wichtigen Maße bedeuten und wie sie interpretiert werden sollten.
Die importance()
Funktion gibt für jede Variable zwei Werte an: %IncMSE
und IncNodePurity
. Gibt es einfache Interpretationen für diese 2 Werte?
Ist dies IncNodePurity
insbesondere einfach der Betrag, den der RSS nach dem Entfernen dieser Variablen erhöht?
?importance
? Es gibt eine Erklärung, was beide Maßnahmen bedeuten ...Antworten:
Die erste kann wie folgt interpretiert werden: Wenn ein Prädiktor in Ihrem aktuellen Modell wichtig ist, sollte die zufällige, aber realistische Zuweisung anderer Werte für diesen Prädiktor einen negativen Einfluss haben (z. B. Permutieren der Werte dieses Prädiktors über Ihren Datensatz) zur Vorhersage, dh: Die Verwendung des gleichen Modells zur Vorhersage aus Daten, die mit Ausnahme der einen Variablen identisch sind, sollte schlechtere Vorhersagen liefern.
Sie nehmen also eine Vorhersagemaßnahme (Predictive Measure, MSE) mit dem ursprünglichen Datensatz und dann mit dem 'permutierten' Datensatz und vergleichen sie irgendwie. Ein Weg, insbesondere da wir erwarten, dass die ursprüngliche MSE immer kleiner ist, kann der Unterschied genommen werden. Um die Werte über Variablen vergleichbar zu machen, werden diese skaliert.
Für die zweite: Bei jeder Aufteilung können Sie berechnen, um wie viel diese Aufteilung die Knotenverunreinigung verringert (für Regressionsbäume in der Tat der Unterschied zwischen RSS vor und nach der Aufteilung). Dies wird über alle Aufteilungen für diese Variable über alle Bäume summiert.
Anmerkung: Eine gute Lektüre ist Elements of Statistical Learning von Hastie, Tibshirani und Friedman ...
quelle
Random Forest-Wichtigkeitsmetriken, wie sie im randomForest-Paket in R implementiert sind, weisen die Eigenheiten auf, dass korrelierte Prädiktoren Werte mit geringer Wichtigkeit erhalten.
http://bioinformatics.oxfordjournals.org/content/early/2010/04/12/bioinformatics.btq134.full.pdf
Ich habe eine modifizierte Implementierung von zufälligen Wäldern auf CRAN, die ihren Ansatz zur Schätzung empirischer p-Werte und falscher Entdeckungsraten hier implementiert
http://cran.r-project.org/web/packages/pRF/index.html
quelle
caret::train(method="rf", importance = TRUE, ...)
?