Para una competencia reciente de Kaggle, definí (manualmente) 10 características adicionales para mi conjunto de entrenamiento, que luego se usarían para entrenar un clasificador aleatorio de bosques. Decidí ejecutar PCA en el conjunto de datos con las nuevas características, para ver cómo se comparaban entre sí. Descubrí que ~ 98% de la varianza fue transportada por el primer componente (el primer vector propio). Luego entrené al clasificador varias veces, agregando una característica a la vez, y utilicé la validación cruzada y el error RMS para comparar la calidad de la clasificación. Descubrí que las clasificaciones mejoraron con cada característica adicional, y que el resultado final (con las 10 nuevas características) fue mucho mejor que la primera ejecución con (digamos) 2 características.
Dado que PCA afirmó que ~ 98% de la variación estaba en el primer componente de mi conjunto de datos, ¿por qué mejoró tanto la calidad de las clasificaciones?
¿Sería esto cierto para otros clasificadores? RF escala a través de múltiples núcleos, por lo que es mucho más rápido entrenar que (digamos) SVM.
¿Qué pasaría si hubiera transformado el conjunto de datos en el espacio "PCA" y ejecute el clasificador en el espacio transformado? ¿Cómo cambiarían mis resultados?
fuente
Respuestas:
Al realizar el modelado predictivo, intenta explicar la variación en la respuesta, no la variación en las características. No hay ninguna razón para creer que agrupar la mayor parte de la variación de características en una sola característica nueva capturará una gran cantidad del poder predictivo de las características en su conjunto.
Esto a menudo se explica como la diferencia entre la regresión del componente principal en lugar de los mínimos cuadrados parciales.
fuente
Boruta
. Tampoco los he encontrado útiles. No me parece razonable creer que una característica dada no tenga efecto. Puedo creer que enfatizar ciertas características sobre otras podría ser útil, pero el algoritmo base randomForest ya lo hace bastante bien. Si está tan metido en el modelado y desea más rendimiento, le sugiero apilar otros algoritmos, algunos como algunos árboles impulsados, con su bosque aleatorio.El primer componente principal es una combinación lineal de todas sus características. El hecho de que explique casi toda la variabilidad solo significa que la mayoría de los coeficientes de las variables en el primer componente principal son significativos.
Ahora los árboles de clasificación que genera también son un poco diferentes a los animales. Hacen divisiones binarias en variables continuas que mejor separan las categorías que desea clasificar. Eso no es exactamente lo mismo que encontrar combinaciones lineales ortogonales de variables continuas que dan la dirección de mayor varianza. De hecho, hemos discutido recientemente un documento sobre CV en el que se usó PCA para el análisis de conglomerados y los autores encontraron que existen situaciones en las que la mejor separación no se encuentra en los primeros componentes principales, sino en los últimos.
fuente