Vorrei aggiungere i miei due centesimi a questo dato che pensavo che le risposte esistenti fossero incomplete.
L'esecuzione di PCA può essere particolarmente utile prima di allenare una foresta casuale (o LightGBM o qualsiasi altro metodo basato sull'albero decisionale) per un motivo particolare che ho illustrato nella figura seguente.
Fondamentalmente, può rendere molto più semplice il processo di ricerca del limite di decisione perfetto allineando il set di allenamento lungo le direzioni con la massima varianza.
Gli alberi decisionali sono sensibili alla rotazione dei dati, poiché il confine decisionale che creano è sempre verticale / orizzontale (cioè perpendicolare a uno degli assi). Pertanto, se i tuoi dati assomigliano all'immagine a sinistra, ci vorrà un albero molto più grande per separare questi due cluster (in questo caso si tratta di un albero a 8 strati). Ma se allinea i tuoi dati lungo i suoi componenti principali (come nella foto a destra), puoi ottenere una separazione perfetta con un solo livello!
Naturalmente, non tutti i set di dati sono distribuiti in questo modo, quindi PCA potrebbe non essere sempre utile, ma è comunque utile provarlo e vedere se lo fa. E solo un promemoria, non dimenticare di normalizzare il tuo set di dati in base alla varianza dell'unità prima di eseguire PCA!
PS: Per quanto riguarda la riduzione della dimensionalità, concordo con il resto della gente in quanto di solito non è un grosso problema per le foreste casuali come per altri algoritmi. Tuttavia, potrebbe aiutarti ad accelerare un po 'l'allenamento. Il tempo di addestramento dell'albero decisionale è O (n m log (m)), dove n è il numero di istanze di addestramento, m - numero di dimensioni. E sebbene le foreste casuali scelgano casualmente un sottoinsieme di dimensioni per ciascun albero su cui addestrare, la frazione inferiore del numero totale di dimensioni che raccogli, più alberi devi allenarti per ottenere buone prestazioni.
mtry
parametro) per costruire ciascun albero. Esiste anche una tecnica di eliminazione delle caratteristiche ricorsiva costruita sull'algoritmo RF (vedere il pacchetto varSelRF R e riferimenti in esso). Tuttavia, è certamente possibile aggiungere uno schema iniziale di riduzione dei dati, sebbene dovrebbe far parte del processo di convalida incrociata. Quindi la domanda è: vuoi inserire una combinazione lineare delle tue caratteristiche in RF?