Quando scegliere la regressione lineare o la regressione dell'albero decisionale o della foresta casuale? [chiuso]


10

Sto lavorando a un progetto e ho difficoltà a decidere quale algoritmo scegliere regression. Voglio sapere a quali condizioni si dovrebbe scegliere un linear regressiono Decision Tree regressiono Random Forest regression? Ci sono delle caratteristiche specifiche dei dati che prenderebbero la decisione di andare verso un algoritmo specifico tra l'albero sopra menzionato? Quali sono quelle caratteristiche che dovrei cercare nel mio set di dati per prendere la decisione? E ci sono alcuni motivi per cui si potrebbe scegliere uno decision treeo un random forestalgoritmo anche se si può ottenere la stessa correttezza linear regression?


Questo è troppo ampio: inizia con una descrizione dei tuoi dati e quali sono i tuoi vincoli?
Sean Owen,

Risposte:


10

Lasciatemi spiegare con alcuni esempi per una chiara intuizione:

Quando usi la regressione lineare rispetto agli alberi decisionali?

La regressione lineare è un modello lineare, il che significa che funziona davvero bene quando i dati hanno una forma lineare. Tuttavia, quando i dati hanno una forma non lineare, un modello lineare non può acquisire le caratteristiche non lineari.

Quindi, in questo caso, è possibile utilizzare gli alberi delle decisioni, che svolgono un lavoro migliore nel catturare la non linearità nei dati dividendo lo spazio in sottospazi più piccoli a seconda delle domande poste.

Quando usi Random Forest vs Decision Trees?

Immagino che la risposta di Quora qui farebbe un lavoro migliore di me, spiegando la differenza tra loro e le loro applicazioni. Lascia che lo citi per te:

Supponiamo che tu sia molto indeciso, quindi ogni volta che vuoi guardare un film, chiedi alla tua amica Willow se pensa che ti piacerà. Per rispondere, Willow deve prima capire quali film ti piacciono, quindi le dai un sacco di film e le dici se ti sono piaciuti o meno (cioè, le dai un set di addestramento etichettato). Quindi, quando le chiedi se pensa che ti piacerà il film X o no, gioca un gioco simile a 20 domande con IMDB, ponendo domande come "X è un film romantico?", "Johnny Depp recita in X?" , e così via. Prima pone domande più informative (ovvero massimizza il guadagno di informazioni di ciascuna domanda) e alla fine ti dà una risposta sì / no.

Pertanto, Willow è un albero decisionale per le tue preferenze cinematografiche.

Ma Willow è solo umana, quindi non sempre generalizza molto bene le tue preferenze (cioè, si veste troppo). Per ottenere consigli più precisi, ti piacerebbe chiedere a un gruppo di tuoi amici e guardare il film X se la maggior parte di loro dice di pensare che ti piacerà. Cioè, invece di chiedere solo a Willow, vuoi chiedere anche a Woody, Apple e Cartman, e votano se ti piacerà un film (cioè, costruisci un classificatore d'ensemble, in questo caso anche una foresta).

Ora non vuoi che ognuno dei tuoi amici faccia la stessa cosa e ti dia la stessa risposta, quindi prima dai a ognuno di loro dati leggermente diversi. Dopotutto, non sei assolutamente sicuro delle tue preferenze da solo - hai detto a Willow che amavi il Titanic, ma forse eri solo felice quel giorno perché era il tuo compleanno, quindi forse alcuni dei tuoi amici non dovrebbero usare il fatto che tu Mi è piaciuto Titanic nel formulare raccomandazioni. O forse le hai detto che amavi Cenerentola, ma in realtà davvero davveromi è piaciuto molto, quindi alcuni dei tuoi amici dovrebbero dare più peso a Cenerentola. Quindi, invece di fornire ai tuoi amici gli stessi dati che hai dato a Willow, dai loro versioni leggermente turbate. Non cambi le tue decisioni di amore / odio, dici solo che ami / odi alcuni film un po 'più o meno (dai a ciascuno dei tuoi amici una versione bloccata dei tuoi dati di allenamento originali). Ad esempio, mentre hai detto a Willow che ti sono piaciuti Black Swan e Harry Potter e non ti è piaciuto Avatar, dici a Woody che ti è piaciuto Black Swan così tanto che l'hai guardato due volte, non ti è piaciuto Avatar e non menzionare affatto Harry Potter.

Usando questo ensemble, speri che mentre ognuno dei tuoi amici dia consigli in qualche modo idiosincratici (Willow pensa che ti piacciano i film sui vampiri più di te, Woody pensa che ti piacciano i film Pixar e Cartman pensa che odi tutto), gli errori vengono cancellati nella maggioranza. Pertanto, i tuoi amici ora formano una foresta insaccata (aggregata bootstrap) delle tue preferenze di film.

Tuttavia, c'è ancora un problema con i tuoi dati. Mentre hai amato sia Titanic che Inception, non è perché ti piacciono i film con Leonardio DiCaprio. Forse ti sono piaciuti entrambi i film per altri motivi. Pertanto, non vuoi che i tuoi amici basino tutti i loro consigli sul fatto che Leo sia o meno in un film. Quindi, quando ogni amico fa una domanda a IMDB, è consentito solo un sottoinsieme casuale delle possibili domande (ad esempio, quando si costruisce un albero decisionale, in ciascun nodo si utilizza una certa casualità nella selezione dell'attributo su cui dividere, ad esempio selezionando casualmente un attributo o selezionando un attributo da un sottoinsieme casuale). Questo significa che i tuoi amici non sono autorizzati a chiedere se Leonardo DiCaprio è nel film ogni volta che vogliono. Quindi, mentre in precedenza hai iniettato casualità a livello di dati,

E così i tuoi amici ora formano una foresta casuale.


7
when the data has a non-linear shape, then a linear model cannot capture the non-linear featuresQuesto è un malinteso comune. Prima di tutto, una semplice regressione lineare può modellare persino serie armoniche stats.stackexchange.com/questions/60500/… . In secondo luogo, è possibile introdurre l'interazione delle caratteristiche e, naturalmente, esistono modelli lineari generalizzati in cui viene introdotta una funzione non lineare sui termini lineari (ad esempio la regressione logistica).
Ricardo Cruz,

2

Per quanto ne so, non esiste una regola per dire quale algoritmo funziona per quale set di dati. Assicurati solo che il tuo set di dati e le variabili di interesse soddisfino i presupposti di esecuzione di ciascun algoritmo e provalo. Ad esempio, la regressione lineare ha alcuni presupposti come la normalità dei resuduali, l'omoscedasticità (la variabilità nella variabile di risposta è la stessa a tutti i livelli della variabile esplicativa) e così via. Basta controllare queste per le variabili e provare l'algoritmo.

È possibile utilizzare un software punta e clicca per vedere i risultati senza essere coinvolti nell'impostazione del codice e dei parametri. Se sei un utente R, il pacchetto Rattle sarà uno strumento molto utile in questa fase. Fai il tuo lavoro in modalità punta e clicca e hai accesso al codice dietro di esso.


L'unica regola empirica che ho letto è che le regressioni gestiscono il rumore meglio delle foreste casuali, il che sembra vero perché gli alberi decisionali sono modelli discreti, ma non l'ho mai visto testato quantitativamente.
Ricardo Cruz,
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.