Come devono essere implementate le suddivisioni dell'albero decisionale quando si prevedono variabili continue?


15

In realtà sto scrivendo un'implementazione di Random Forests ma credo che la domanda sia specifica per gli alberi delle decisioni (indipendentemente dalle RF).

Quindi il contesto è che sto creando un nodo in un albero decisionale e sia la previsione che le variabili target sono continue. Il nodo ha una soglia divisa per partizionare i dati in due set e creo una nuova previsione per ciascun sottoinsieme in base al valore target medio in ciascun set. È questo l'approccio corretto?

Il motivo per cui chiedo è che quando si prevedono variabili binarie, credo che l'approccio tipico (corretto?) Sia quello di dividere i dati in sottoinsiemi 0 e 1 senza prendere una media sulle righe di dati in ogni sottoinsieme. Le divisioni successive si dividono in sottoinsiemi a grana più fine e prendendo una media per ogni risultato di divisione divisioni successive (in basso l'albero delle decisioni) operando su quelle che ora sono variabili continue anziché variabili binarie (perché stiamo operando sui valori di errore residuo anziché sull'originale obiettivi).

Domanda a margine: la distinzione tra i due approcci (binario e continuo) è significativa o forniranno effettivamente risultati identici per un albero decisionale completo?


1
La suddivisione su una variabile continua farà sì che il "modello" risultante non si adatti correttamente ai dati. Se hai una X continua e una Y continua, considera di usare loess più liscio non parametrico.
Frank Harrell,

Il problema su cui sto lavorando in questo momento ha molte variabili predittive (un mix di continuo e binario) e una singola variabile target. Quindi credo che la RF sia un approccio ragionevole da adottare.
Redcalx

2
Molto probabilmente così. Ma una foresta casuale è una miscela di alberi (non è un albero decisionale), quindi approssima le relazioni continue creando più divisioni e, in effetti, usando il restringimento. Quindi non penso che la tua domanda originale si applichi, se la capisco.
Frank Harrell,

Sono tentato di dire che la tua descrizione del caso continuo è corretta (cioè il modo standard di fare le cose), ma poi la tua descrizione del caso variabile binario non coincide affatto con la mia comprensione di come foreste casuali (o decisione alberi), quindi sono preoccupato che uno di noi sia confuso.
joran,

@joran. Sì, forzando le previsioni a 0 o 1, si perde la possibilità di apportare sottili modifiche alle previsioni (tra 0 e 1) che possono ridurre l'errore (ad esempio, errore di previsione al quadrato medio). In quanto tale, sospetto che tale approccio sia inferiore. L'ho provato e molti tentativi di costruire un albero decisionale non riescono a trovare nemmeno una singola divisione che migliora l'errore.
redcalx

Risposte:


10

Un potenziale problema con gli alberi è che tendono ad adattarsi male alle code. Pensa a un nodo terminale che cattura la gamma bassa del set di addestramento. Prevede utilizzando la media di questi set point di allenamento, che sottostimeranno sempre il risultato (poiché è la media).

Potresti provare gli alberi modello [1]. Questi si adatteranno a modelli lineari nei nodi terminali e (penso) fare un lavoro migliore degli alberi di regressione. Meglio ancora, usa una versione più evoluta chiamata Cubista che combina diversi approcci ([1] e [2] di seguito).

Questi modelli gestiscono anche i predittori continui e discreti in modo diverso. Possono eseguire divisioni multidirezionali per variabili categoriali. Il criterio di scissione è molto simile agli alberi CART.

Gli alberi modello possono essere trovati in R nel pacchetto RWeka (chiamato 'M5P') e Cubist è nel pacchetto Cubist. Naturalmente, puoi usare anche Weka e Cubist ha una versione C disponibile sul sito web di RuleQuest.

[1] Quinlan, J. (1992). Apprendimento con lezioni continue. Atti della 5a Conferenza congiunta australiana sull'intelligenza artificiale, 343-348.

[2] Quinlan, J. (1993). Combinazione di apprendimento basato su istanze e modelli. Atti della decima conferenza internazionale sull'apprendimento automatico, 236-243.


1
Non potresti semplicemente avere alberi più profondi per ridurre al minimo l'adattamento inadeguato alle code?
Jase,
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.