Для недавнего соревнования Kaggle я (вручную) определил 10 дополнительных функций для своего тренировочного набора, которые затем будут использоваться для обучения классификатора случайных лесов. Я решил запустить PCA в наборе данных с новыми функциями, чтобы увидеть, как они сравниваются друг с другом. Я обнаружил, что ~ 98% дисперсии несет первый компонент (первый собственный вектор). Затем я несколько раз обучил классификатор, добавляя одну функцию за раз, и использовал перекрестную проверку и среднеквадратическую ошибку, чтобы сравнить качество классификации. Я обнаружил, что классификации улучшались с каждой дополнительной функцией, и что конечный результат (со всеми 10 новыми функциями) был намного лучше, чем первый запуск с (скажем) 2 функциями.
Учитывая, что PCA утверждает, что ~ 98% дисперсии было в первом компоненте моего набора данных, почему качество классификаций так улучшилось?
Будет ли это справедливо для других классификаторов? РЧ масштабируется по нескольким ядрам, поэтому тренироваться намного быстрее, чем (скажем) SVM.
Что, если я преобразовал набор данных в пространство «PCA» и запустил классификатор в преобразованном пространстве. Как бы изменились мои результаты?