Tutto è nel titolo, ha senso usare la selezione delle caratteristiche prima di usare la foresta casuale?
Tutto è nel titolo, ha senso usare la selezione delle caratteristiche prima di usare la foresta casuale?
Risposte:
Sì, lo fa ed è abbastanza comune. Se ti aspetti che oltre il 50% delle tue funzionalità non sia nemmeno ridondante ma assolutamente inutile. Ad esempio, il pacchetto randomForest ha la funzione wrapper rfcv () che predisporrà randomForest e ometterà le variabili meno importanti. La funzione RFCV fa riferimento a questo capitolo . Ricorda di incorporare la selezione delle funzionalità + la modellazione in un ciclo di convalida incrociata esterno per evitare risultati eccessivamente ottimistici.
[modifica sotto]
Potrei moderare "assolutamente inutile". Una singola foresta casuale molto spesso non ignorerà completamente le caratteristiche, ad esempio la regressione con la regolarizzazione del lazo, anche se queste (con il senno di poi simulato) erano caratteristiche casuali. Le suddivisioni dell'albero delle decisioni per caratteristiche sono scelte da criteri locali in una qualsiasi delle migliaia o milioni di nodi e non possono essere successivamente annullate. Non sostengo il taglio di funzionalità fino a una selezione superiore, ma è possibile per alcuni set di dati ottenere un sostanziale aumento delle prestazioni di previsione (stimato da una convalida incrociata esterna ripetuta ) utilizzando questa selezione variabile. Una scoperta tipica sarebbe quella di mantenere il 100% delle funzionalità o solo un po 'meno funzionante meno bene, e quindi potrebbe esserci un ampio intervallo medio con prestazioni di previsione stimate simili.
Forse una regola empirica ragionevole: Quando si aspetterebbe che lazo simile regolarizzazione servirebbe meglio di una cresta simile regolarizzazione per un dato problema, allora si potrebbe tentare di pre-allenamento una foresta casuale e rango le caratteristiche dal interna out-of-bag importanza delle variabili convalidate in modo incrociato e provare a eliminare alcune delle funzionalità meno importanti . L'importanza delle variabili quantifica quanto diminuisce la previsione del modello convalidata in modo incrociato, quando una determinata caratteristica è permutata (valori mescolati) dopo l'allenamento, prima della previsione. Non si sarà mai certi se una funzionalità specifica debba essere inclusa o meno, ma probabilmente sarà molto più facile prevedere dalle caratteristiche del 5% in alto rispetto al 5% in basso.
Da un punto di vista pratico, il tempo di esecuzione computazionale potrebbe essere ridotto e forse alcune risorse potrebbero essere risparmiate, se ci fosse un costo di acquisizione fisso per funzione.