Interpretation der mittleren Abnahme der Genauigkeit und der mittleren Abnahme des GINI in Random Forest-Modellen

34

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

Bildbeschreibung hier eingeben

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?

FlacoT
quelle
versuchen Sie dat <- iris [, c (2: 3,5)] und sollten höhere VI-Werte erhalten
Soren Havelund Welling

Antworten:

26

" Handelt es sich um eine Aussage über das gesamte Feature oder um bestimmte Werte innerhalb des Features? "

  • "Globale" Variablenbedeutung ist die mittlere Abnahme der Genauigkeit über alle aus dem Sack stammenden kreuzvalidierten Vorhersagen, wenn eine gegebene Variable nach dem Training, aber vor der Vorhersage permutiert wird. "Global" ist implizit. Die Wichtigkeit der lokalen Variablen ist die mittlere Abnahme der Genauigkeit durch jede einzelne, durch Cross-Validierung validierte Out-of-Bag-Vorhersage. Die globale Variablenbedeutung ist die beliebteste, da es sich um eine einzelne Zahl pro Variable handelt, die leichter zu verstehen und robuster ist, da sie über alle Vorhersagen gemittelt wird.

" 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? "

  1. Wald trainieren
  2. Messen Sie die Genauigkeit des Out-of-Bag-CVs → OOB_acc_base
  3. permute Variable i
  4. Messen Sie die Genauigkeit des Out-of-Bag-CVs → OOB_acc_perm_i
  5. VI_i = - (OOB_acc_perm_i - OOB_acc_base)

- " 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? "

  • Ja. Sowohl Petal.length als auch Petal.width haben eine nahezu perfekte lineare Trennung. Somit teilen sich die Variablen redundante Informationen und das Permutieren von nur einer behindert das Modell nicht.

" 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? "

  • Wenn ein robustes / regularisiertes Modell auf redundante Variablen trainiert wird, ist es ziemlich resistent gegen Permutationen in einzelnen Variablen.

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.

Soren Havelund Welling
quelle
Zur Interpretation der Variablenwichtigkeit über die einfache Rangfolge hinaus siehe : "Bivariate Variablenauswahl für Klassifizierungsprobleme" - Vivian W. Ng und Leo Breiman digitalassets.lib.berkeley.edu/sdtr/ucb/text/692.pdf
Soren Havelund Welling
Vielen Dank für Ihre Antwort! Ich habe gesehen, dass einige Stellen die mittlere Abnahme der Genauigkeit als die Zunahme der OOB-Fehlerrate (also einen Prozentsatz) beschreiben. Die von Ihnen veröffentlichte Formel scheint auch eine Fehlerrate vorzuschlagen: (OOB_acc_perm_i - OOB_acc_base). Sie sind sich jedoch sicher, dass sich die mittlere Abnahme der Genauigkeit auf die Anzahl der falsch klassifizierten Beobachtungen bezieht?
FlacoT
1
Denken Sie an das Minus vor, da die variable Wichtigkeit eine Abnahme ist. Ich war nicht zu spezifisch mit den Einheiten, diese könnten in% oder reinen Verhältnissen / Anteilen ausgedrückt werden, spielt keine Rolle. Aber ja, da Genauigkeit = 1-Fehler_Rate, VI_i = Fehler_Rate_Perm_i - Fehler_Rate_Basis. Für die Regression ist die Einheit der Permutationsvariablen-Wichtigkeit typischerweise die Abnahme der% erklärten Varianz und die Einheit der Gini-Wichtigkeit ist die mittlere Abnahme von mean_square_error-gain. "Aber Sie sind sicher, dass sich die mittlere Abnahme der Genauigkeit auf die Anzahl der falsch klassifizierten Beobachtungen bezieht? " - Nein, Genauigkeit ist ein Bruchteil, keine Zählung.
Soren Havelund Welling
10

Hier ist die Beschreibung der mittleren Abnahme der Genauigkeit (MDA) aus dem Hilfehandbuch von randomForest:

Die erste Kennzahl wird aus den permutierten OOB-Daten berechnet: Für jeden Baum wird der Vorhersagefehler für den Teil der Daten aus dem Sack aufgezeichnet (Fehlerrate für die Klassifizierung, MSE für die Regression). Dann wird dasselbe gemacht, nachdem jede Prädiktorvariable permutiert wurde. Die Differenz zwischen den beiden wird dann über alle Bäume gemittelt und durch die Standardabweichung der Differenzen normalisiert. Wenn die Standardabweichung der Differenzen für eine Variable gleich 0 ist, wird die Division nicht durchgeführt (aber der Durchschnitt ist in diesem Fall fast immer gleich 0).

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,

"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?"

  • 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.

    Mean(Decreases in Accuracy of Trees)StandardDeviation(Decreases in Accuracy of Trees)
  • 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

H0:Nodes constructed by predictor i is useless in any single trees
H1:Nodes constructed by predictor i is useful

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.

Jianyu
quelle
Zwei weitere Fragen: 1. Haben Sie eine Idee, ob andere Pakete den intuitiveren MDA verwenden, der von @Soren beschrieben wird? 2. Wenn die Interpretation von MDA in RandomForest eine Teststatistik ist, gibt es dann so etwas wie eine Faustregel, was eine ausreichend große Teststatistik ist, um H0 abzulehnen? Folgt MDA einer bekannten Distribution?
FlacoT
1. Entschuldigung, ich habe kein anderes Paket ausprobiert. 2. Es ist einfach wie eine Teststatistik. Weder die Distribution ist zugänglich (soweit ich weiß, dass nur wenige Leute dies untersucht haben), noch der Test selbst ist aussagekräftig - ich denke nicht, dass der Test etwas über den FOREST aussagt, was unser eigentliches Interesse ist.
Jianyu
4

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.

user4959
quelle