Per una recente competizione di Kaggle, ho definito (manualmente) 10 funzioni aggiuntive per il mio set di allenamento, che sarebbero state utilizzate per addestrare un classificatore di foreste casuale. Ho deciso di eseguire PCA sul set di dati con le nuove funzionalità, per vedere come si confrontavano tra loro. Ho scoperto che il 98% circa della varianza era trasportato dal primo componente (il primo autovettore). Ho quindi addestrato il classificatore più volte, aggiungendo una funzione alla volta e ho usato la convalida incrociata e l'errore RMS per confrontare la qualità della classificazione. Ho scoperto che le classificazioni sono migliorate con ogni funzionalità aggiuntiva e che il risultato finale (con tutte e 10 le nuove funzionalità) è stato di gran lunga migliore rispetto alla prima esecuzione con (diciamo) 2 funzionalità.
Dato che il PCA ha affermato che circa il 98% della varianza era nel primo componente del mio set di dati, perché la qualità delle classificazioni è migliorata così tanto?
Questo sarebbe vero per altri classificatori? La RF scala su più core, quindi è molto più veloce da addestrare rispetto a (diciamo) SVM.
E se avessi trasformato il set di dati nello spazio "PCA" ed avessi eseguito il classificatore nello spazio trasformato. Come cambieranno i miei risultati?