Ich habe einige Schwierigkeiten zu verstehen, wie die Ausgabe mit variabler Wichtigkeit aus dem Random Forest-Paket interpretiert wird. Die mittlere Abnahme der Genauigkeit wird normalerweise als "die Abnahme der Modellgenauigkeit durch Permutieren der Werte in jedem Merkmal" beschrieben.
Handelt es sich um eine Aussage über das gesamte Feature oder um bestimmte Werte innerhalb des Features? Ist die mittlere Abnahme der Genauigkeit in beiden Fällen die Anzahl oder der Anteil der Beobachtungen, die durch Entfernen des betreffenden Merkmals (oder der Werte aus dem Merkmal) aus dem Modell falsch klassifiziert wurden?
Angenommen, wir haben das folgende Modell:
require(randomForest)
data(iris)
set.seed(1)
dat <- iris
dat$Species <- factor(ifelse(dat$Species=='virginica','virginica','other'))
model.rf <- randomForest(Species~., dat, ntree=25,
importance=TRUE, nodesize=5)
model.rf
varImpPlot(model.rf)
Call:
randomForest(formula = Species ~ ., data = dat, ntree = 25,
proximity = TRUE, importance = TRUE, nodesize = 5)
Type of random forest: classification
Number of trees: 25
No. of variables tried at each split: 2
OOB estimate of error rate: 3.33%
Confusion matrix:
other virginica class.error
other 97 3 0.03
virginica 2 48 0.04
In diesem Modell ist die OOB-Rate eher niedrig (ca. 5%). Die mittlere Abnahme der Genauigkeit für den Prädiktor (Blütenblatt.Länge) mit dem höchsten Wert in diesem Maß beträgt jedoch nur etwa 8.
Bedeutet dies, dass das Entfernen von Petal.Length aus dem Modell nur zu einer zusätzlichen Fehlklassifizierung von durchschnittlich etwa 8 Beobachtungen führen würde?
Wie könnte die mittlere Abnahme der Genauigkeit für Petal.Length so gering sein, da sie in diesem Maß am höchsten ist und daher die anderen Variablen in diesem Maß noch niedrigere Werte aufweisen?
Antworten:
" Handelt es sich um eine Aussage über das gesamte Feature oder um bestimmte Werte innerhalb des Features? "
" In beiden Fällen ist die mittlere Abnahme der Genauigkeit die Anzahl oder der Anteil der Beobachtungen, die falsch klassifiziert wurden, indem das betreffende Merkmal (oder die betreffenden Werte aus dem Merkmal) aus dem Modell entfernt wurden? "
- " Bedeutet dies, dass das Entfernen von Petal.Length aus dem Modell nur zu einer zusätzlichen Fehlklassifizierung von durchschnittlich etwa 8 Beobachtungen führen würde? "
" Wie könnte die mittlere Abnahme der Genauigkeit für Petal.Length so gering sein, da sie in dieser Messung die höchste ist und die anderen Variablen in dieser Messung sogar noch niedrigere Werte aufweisen? "
Verwenden Sie die Variable "Wichtigkeit" hauptsächlich, um den Nutzen Ihrer Variablen einzustufen. Eine klare Interpretation der Absolutwerte von variabler Bedeutung ist schwierig.
GINI: Die GINI-Wichtigkeit misst den durchschnittlichen Reinheitsgewinn durch Teilung einer gegebenen Variablen. Wenn die Variable nützlich ist, neigt sie dazu, gemischt beschriftete Knoten in reine Einzelklassenknoten aufzuteilen. Die Aufteilung durch permutierte Variablen führt weder zu einer Erhöhung noch zu einer Verringerung der Knotenreinheiten. Die Permission einer nützlichen Variablen führt zu einer relativ starken Abnahme des mittleren Gini-Gewinns. Die Bedeutung von GINI hängt eng mit der lokalen Entscheidungsfunktion zusammen, die zufällige Gesamtstrukturen verwenden, um die beste verfügbare Aufteilung auszuwählen. Daher dauert die Berechnung nicht viel länger. Auf der anderen Seite ist der mittlere Gini-Gewinn in lokalen Teilungen im Gegensatz zur Änderung der Gesamtmodellleistung nicht unbedingt am nützlichsten zu messen. Die Gini-Wichtigkeit ist der (permutationsbasierten) variablen Wichtigkeit insgesamt unterlegen, da sie relativ voreingenommen ist, instabiler und tendenziell eine indirektere Frage beantwortet.
quelle
Hier ist die Beschreibung der mittleren Abnahme der Genauigkeit (MDA) aus dem Hilfehandbuch von randomForest:
Gemäß der Beschreibung bezieht sich die "Genauigkeit" in MDA tatsächlich auf die Genauigkeit von Einzelbaummodellen , ungeachtet der Tatsache, dass wir uns mehr mit der Fehlerrate des Waldes befassen . So,
Zunächst wird die MDA (standardmäßig skaliert) , wie oben definiert , ist mehr wie eine Teststatistik: The Skala ist weder Prozentsatz noch Anzahl der Beobachtungen.
Zweitens sagt selbst die nicht skalierte MDA, dh , nichts über die Genauigkeit des Waldmodells aus (Bäume als Ganzes durch Abstimmung).Mean(Decreases in Accuracy of Trees)
Zusammenfassend geht es bei der MDA-Ausgabe des randomForest-Pakets weder um die Fehlerrate noch um die Fehleranzahl, sondern sie wird besser als Teststatistik für den Hypothesentest interpretiert: versus
Bemerkenswerterweise unterscheidet sich das von Soren beschriebene MDA-Verfahren von der Implementierung des randomForest-Pakets. Es kommt dem näher, was wir uns von einem MDA wünschen: die Genauigkeitsabnahme des gesamten Waldmodells. Allerdings wird das Modell ohne Petal.Length wahrscheinlich anders angepasst und verlässt sich eher auf andere Prädiktoren. Somit wäre Sorens MDA zu pessimistisch.
quelle
Ein kürzlich veröffentlichter (Blog-Beitrag) [ https://explained.ai/rf-importance/index.html] von einem Team der Universität von San Francisco zeigt, dass Standard-Wichtigkeitsstrategien sowohl in R (randomForest) als auch in Python (scikit) unzuverlässig sind in vielen Datenszenarien. Insbesondere wird die mittlere Abnahme der Verunreinigungswichtigkeitsmetriken verzerrt, wenn potenzielle Prädiktorvariablen in ihrem Messmaßstab oder in ihrer Anzahl von Kategorien variieren.
Die Artikel und der Blogbeitrag zeigen, wie kontinuierliche Variablen mit hoher Kardinalität bei der mittleren Abnahme der Rangfolge der Verunreinigungsbedeutung bevorzugt werden, auch wenn sie im Vergleich zu Variablen mit weniger Kategorien gleichermaßen nicht aussagekräftig sind. Die Autoren schlagen vor, in diesen Fällen die Permutationsbedeutung anstelle der Standardbedeutung zu verwenden. Wenn die Prädiktorvariablen in Ihrem Modell stark korreliert sind, wird eine bedingte Permutationsbedeutung empfohlen.
Die Verunreinigung ist vorgespannt, da bei jeder Auswahl eines Unterbrechungspunkts in einer Variablen jede Ebene der Variablen getestet wird, um den besten Unterbrechungspunkt zu finden. Kontinuierliche Variablen oder Variablen mit hoher Kardinalität weisen viel mehr Aufteilungspunkte auf, was zu dem Problem des „mehrfachen Testens“ führt. Das heißt, es besteht eine höhere Wahrscheinlichkeit, dass diese Variable zufällig das Ergebnis gut vorhersagt, da Variablen, bei denen mehr Teilungen versucht werden, häufiger im Baum erscheinen.
quelle