¿Tiene sentido usar la selección de características antes de Random Forest?

Respuestas:

6

Sí, lo hace y es bastante común. Si espera más del ~ 50% de sus funciones, ni siquiera son redundantes sino completamente inútiles. Por ejemplo, el paquete randomForest tiene la función de envoltura rfcv () que preparará un randomForest y omitirá las variables menos importantes. La función rfcv se refiere a este capítulo . Recuerde incorporar la selección de características + modelado en un bucle externo de validación cruzada para evitar resultados demasiado optimistas.

[editar abajo]

Pude moderar "completamente inútil". Un bosque aleatorio único no suele, por ejemplo, como la regresión con la regularización de lazo ignorar completamente las características, incluso si éstas (en retrospectiva simulada) fueran características aleatorias. Las divisiones de árbol de decisión por características se eligen por criterios locales en cualquiera de los miles o millones de nodos y luego no se pueden deshacer. No recomiendo que las características de corte se reduzcan a una selección superior, pero para algunos conjuntos de datos es posible lograr un aumento sustancial en el rendimiento de predicción (estimado mediante una validación cruzada externa repetida ) utilizando esta selección variable. Un hallazgo típico sería que mantener el 100% de las funciones o solo un pequeño porcentaje funciona menos bien, y luego puede haber un rango medio amplio con un rendimiento de predicción estimado similar.

Tal vez una regla del pulgar razonable: Cuando uno esperaría que el lazo similar a la regularización serviría mejor que una forma de cresta de regularización para un problema dado, entonces se podría tratar de pre-entrenamiento de un bosque al azar y el rango de las características por el interior fuera de la bolsa importancia variable con validación cruzada e intente descartar algunas de las características menos importantes . La importancia variable cuantifica cuánto disminuye la predicción del modelo con validación cruzada, cuando se permuta una característica determinada (se barajan los valores) después del entrenamiento, antes de la predicción. Uno nunca estará seguro de si se debe incluir una característica específica o no, pero es probable que sea mucho más fácil predecir por las características del 5% superior que el 5% inferior.

Desde un punto de vista práctico, el tiempo de ejecución computacional podría reducirse, y tal vez algunos recursos podrían ahorrarse, si hay un costo fijo de adquisición por característica.

Soren Havelund Welling
fuente
55
La capacidad de los datos para decirle que una característica es inútil es muy limitada, y espero que la opción a la que se refiere esté integrada en el algoritmo de bosque aleatorio. No sería apropiado eliminar las características por adelantado antes de enviar las características candidatas al algoritmo de bosque aleatorio.
Frank Harrell
@FrankHarrell, he intentado elaborar mi respuesta
Soren Havelund Welling
2
No estoy de acuerdo con que elijas diferentes reglas de puntuación para diferentes propósitos. Una regla de puntuación de precisión inadecuada conduce a la selección de las características incorrectas y les da los pesos incorrectos. Más evidente es la arbitrariedad en ciertas reglas de puntuación. Es mucho mejor elegir un modelo predictivo óptimo y luego usar una teoría de decisión sólida para tomar decisiones óptimas usando ese modelo. Esto se realiza aplicando una función de utilidad a las predicciones continuas.
Frank Harrell
1
@FrankHarrell: ¿puedes dar una respuesta detallada a esta pregunta? aparentemente tienes algunos argumentos fuertes contra la selección de funciones ...
ihadanny
1
C