Come interpretare la riduzione media della precisione e la riduzione media GINI nei modelli a foresta casuale


34

Ho delle difficoltà a capire come interpretare l'output di importanza variabile dal pacchetto Random Forest. La riduzione media dell'accuratezza è generalmente descritta come "la riduzione dell'accuratezza del modello dal permutare i valori in ciascuna caratteristica".

È un'affermazione sulla funzionalità nel suo insieme o su valori specifici all'interno della funzione? In entrambi i casi, la riduzione media della precisione è il numero o la proporzione di osservazioni erroneamente classificate rimuovendo la funzione (o i valori dalla funzione) in questione dal modello?

Supponiamo di avere il seguente modello:

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

inserisci qui la descrizione dell'immagine

In questo modello, il tasso OOB è piuttosto basso (circa il 5%). Tuttavia, la riduzione media della precisione per il predittore (Petal.Length) con il valore più alto in questa misura è solo di circa 8.

Ciò significa che la rimozione di Petal.Length dal modello comporterebbe solo un'ulteriore classificazione errata di circa 8 osservazioni in media?

In che modo la riduzione media della precisione del petalo potrebbe essere così bassa, dato che è la più alta in questa misura e quindi le altre variabili hanno valori ancora più bassi su questa misura?


prova dat <- iris [, c (2: 3,5)] e dovrebbe ottenere valori VI più alti
Soren Havelund Welling,

Risposte:


26

" È un'affermazione sulla funzionalità nel suo insieme o su valori specifici all'interno della funzione? "

  • L'importanza della variabile "globale" è la diminuzione media dell'accuratezza rispetto a tutte le previsioni validate incrociate out-of-bag, quando una determinata variabile è permutata dopo l'allenamento, ma prima della previsione. "Globale" è implicito. L'importanza della variabile locale è la riduzione media dell'accuratezza da parte di ogni singola previsione convalidata cross-of-bag. L'importanza della variabile globale è la più popolare, in quanto è un singolo numero per variabile, più facile da capire e più affidabile in quanto viene calcolata la media su tutte le previsioni.

" In entrambi i casi, la riduzione media della precisione è il numero o la proporzione di osservazioni erroneamente classificate rimuovendo la funzione (o i valori dalla funzione) in questione dal modello? "

  1. foresta del treno
  2. misurare la precisione CV out-of-bag → OOB_acc_base
  3. permuta variabile i
  4. misurare la precisione CV out-of-bag → OOB_acc_perm_i
  5. VI_i = - (OOB_acc_perm_i - OOB_acc_base)

- " Ciò significa che la rimozione di Petal.Length dal modello comporterebbe solo un'ulteriore classificazione errata di circa 8 osservazioni in media? "

  • Sì. Sia Petal.length che Petal.width da soli hanno una separazione lineare quasi perfetta. Pertanto, le variabili condividono informazioni ridondanti e permutare solo una non ostacola il modello.

"In che modo la riduzione media della precisione del petalo potrebbe essere così bassa, dato che è la più alta in questa misura e quindi le altre variabili hanno valori ancora più bassi su questa misura? "

  • Quando un modello robusto / regolarizzato viene addestrato su variabili ridondanti, è abbastanza resistente alle permutazioni nelle singole variabili.

Utilizzare principalmente l'importanza delle variabili principalmente per classificare l'utilità delle variabili. Una chiara interpretazione dei valori assoluti di importanza variabile è difficile da fare bene.

GINI: L'importanza di GINI misura il guadagno medio di purezza per scissione di una data variabile. Se la variabile è utile, tende a dividere nodi etichettati misti in nodi puri di singola classe. La divisione per variabili permutate non tende né ad aumentare né a diminuire la purezza del nodo. Permutando una variabile utile, tende a dare una riduzione relativamente grande del guadagno medio di gini. L'importanza di GINI è strettamente correlata alla funzione di decisione locale, che la foresta casuale utilizza per selezionare la migliore suddivisione disponibile. Pertanto, non ci vuole molto tempo extra per il calcolo. D'altra parte, il guadagno di gini medio nelle divisioni locali non è necessariamente ciò che è più utile da misurare, al contrario del cambiamento delle prestazioni complessive del modello. L'importanza di Gini è nel complesso inferiore all'importanza variabile (basata sulla permutazione) in quanto è relativamente più parziale, più instabile e tende a rispondere a una domanda più indiretta.


Per l'interpretazione di importanza variabile oltre la semplice classifica, controlla: "Selezione variabile bivariata per problema di classificazione" -Vivian W. Ng e Leo Breiman digitalassets.lib.berkeley.edu/sdtr/ucb/text/692.pdf
Soren Havelund Welling

Grazie mille per la tua risposta! Ho visto alcuni posti descrivere la diminuzione media della precisione come aumento del tasso di errore OOB (quindi una percentuale). La formula che hai pubblicato sembra anche suggerire un tasso di errore: (OOB_acc_perm_i - OOB_acc_base). Ma sei sicuro che la riduzione media della precisione si riferisca al numero di osservazioni erroneamente classificate?
FlacoT,

1
Ricorda il segno meno, poiché l'importanza variabile è una diminuzione. Non ero troppo specifico con le unità, queste potevano essere espresse in% o rapporti / proporzioni pure, non importa. Ma sì come accuratezza = 1-error_rate, VI_i = error_rate_perm_i - error_rate_base. Per la regressione, l'unità di importanza variabile di permutazione è in genere una diminuzione della varianza spiegata in% e l'unità di importanza gini è la diminuzione media di guadagno medio_quadrato_errore. "Ma sei sicuro che la riduzione media della precisione si riferisce al numero di osservazioni erroneamente classificate? " -No, l'accuratezza è una frazione, non un conteggio.
Soren Havelund Welling,

10

Ecco la descrizione della diminuzione media della precisione (MDA) dal manuale di randomForest:

La prima misura viene calcolata dall'autorizzazione dei dati OOB: per ogni albero, viene registrato l'errore di predizione sulla porzione out-of-bag dei dati (tasso di errore per la classificazione, MSE per la regressione). Quindi lo stesso viene fatto dopo aver permesso ogni variabile predittore. La differenza tra i due viene quindi mediata su tutti gli alberi e normalizzata dalla deviazione standard delle differenze. Se la deviazione standard delle differenze è uguale a 0 per una variabile, la divisione non viene eseguita (ma la media è quasi sempre uguale a 0 in quel caso).

Secondo la descrizione, la "precisione" in MDA si riferisce in realtà alla precisione dei modelli a albero singolo , indipendentemente dal fatto che siamo più interessati al tasso di errore della foresta . Così,

"Ciò significa che la rimozione di Petal.Length dal modello comporterebbe solo un'ulteriore classificazione errata di circa 8 osservazioni in media?"

  • Mean(Decreases in Accuracy of Trees)StandardDeviation(Decreases in Accuracy of Trees)
  • Mean(Decreases in Accuracy of Trees)

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

Come osservazione, la procedura MDA descritta da Soren è diversa dall'implementazione del pacchetto randomForest. È più vicino a ciò che desideriamo da un MDA: la diminuzione dell'accuratezza dell'intero modello di foresta. Tuttavia, il modello verrà probabilmente montato diversamente senza Petal.Length e si affiderà maggiormente ad altri predittori. Pertanto la MDA di Soren sarebbe troppo pessimista.


Due domande di follow-up: 1. Qualche idea se altri pacchetti utilizzano la MDA più intuitiva descritta da @Soren? 2. Se l'interpretazione dell'MDA in RandomForest è come una statistica di test, esiste qualcosa come una regola empirica su quale statistica di test sufficientemente ampia debba rifiutare H0? La MDA segue una distribuzione nota?
FlacoT,

1. Mi dispiace, non ho provato nessun altro pacchetto. 2. È semplicemente simile a una statistica di prova. Né la distribuzione è accessibile (per quanto ne so poche persone lo hanno esaminato) né il test stesso è significativo - non credo che il test concluda qualcosa sulla FOREST, che è il nostro reale interesse.
Jianyu,

4

Un recente (post sul blog) [ https://explained.ai/rf-importance/index.html] di un team dell'Università di San Francisco mostra che le strategie di importanza predefinita sia in R (randomForest) che in Python (scikit) non sono affidabili in molti scenari di dati. In particolare, la riduzione media delle metriche relative all'importanza dell'impurità è distorta quando le potenziali variabili predittive variano nella loro scala di misurazione o nel loro numero di categorie.

Gli articoli e il post sul blog dimostrano come le variabili di cardinalità continue e elevate siano preferite nella media riduzione delle classifiche di importanza dell'impurità, anche se sono ugualmente non informative rispetto alle variabili con meno categorie. Gli autori suggeriscono di utilizzare l'importanza della permutazione invece del valore predefinito in questi casi. Se le variabili predittive nel modello sono altamente correlate, viene suggerita l'importanza della permutazione condizionale.

L'impurità è distorta poiché ogni volta che viene selezionato un punto di interruzione in una variabile, ogni livello della variabile viene testato per trovare il punto di interruzione migliore. Le variabili di cardinalità continue o elevate avranno molti più punti di divisione, il che si traduce nel problema dei "test multipli". Cioè, c'è una maggiore probabilità che per caso quella variabile capisca bene il risultato, dal momento che le variabili, dove si provano più divisioni, appariranno più spesso nella struttura.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.