W ostatnim konkursie Kaggle (ręcznie) zdefiniowałem 10 dodatkowych funkcji dla mojego zestawu treningowego, które następnie zostaną wykorzystane do wyszkolenia losowego klasyfikatora lasów. Postanowiłem uruchomić PCA w zestawie danych z nowymi funkcjami, aby zobaczyć, jak się ze sobą porównują. Odkryłem, że ~ 98% wariancji było przenoszone przez pierwszy składnik (pierwszy wektor własny). Następnie kilkakrotnie trenowałem klasyfikator, dodając jedną funkcję na raz, i korzystałem z walidacji krzyżowej i błędu RMS, aby porównać jakość klasyfikacji. Przekonałem się, że klasyfikacje poprawiły się z każdą dodatkową funkcją i że końcowy wynik (ze wszystkimi 10 nowymi funkcjami) był znacznie lepszy niż pierwszy test z (powiedzmy) 2 funkcjami.
Biorąc pod uwagę, że PCA twierdziło, że ~ 98% wariancji dotyczyło pierwszego składnika mojego zbioru danych, dlaczego jakość klasyfikacji tak bardzo się poprawiła?
Czy dotyczy to innych klasyfikatorów? RF skaluje się na wielu rdzeniach, więc trenowanie jest znacznie szybsze niż (powiedzmy) SVM.
Co jeśli przekształciłbym zestaw danych w przestrzeń „PCA” i uruchomiłbym klasyfikator na przestrzeni przekształconej. Jak zmieniłyby się moje wyniki?