7 votos

Número de árboles para la optimización de Random Forest mediante la eliminación recursiva de características

¿Cuántos árboles sugeriría escoger para realizar la eliminación recursiva de características (RFE) con el fin de optimizar el clasificador Random Forest (para un problema de clasificación binaria)? Mi conjunto de datos es de muy alta dimensión (> 200 000 características), y normalmente selecciono ~ 10 000 árboles cuando ejecuto una clasificación sin selección de características. Pero me pregunto si es suficiente para establecer como ~ 500-1000 para RFE con el fin de ahorrar tiempo y RAM.

P.D: Yo uso "bosque aleatorio y "caret R-paquetes si hace alguna diferencia.

0 votos

Las recomendaciones de Breinman son elegir un gran número de árboles, así como la raíz cuadrada del número de variables para m . Véase cwiki.apache.org/MAHOUT/bosques-aleatorios.html y springerlink.com/index/U0P06167N6173512.pdf

0 votos

Esto es algo que sé. Pero por otro lado, hay una sugerencia de que el parámetro mtry se puede ajustar utilizando menor número de árboles . Mi pregunta es si es posible utilizar un número menor de árboles para la selección de características mediante RFE. ¿O sugiere utilizar los mismos valores?

8voto

ESRogs Puntos 1381

La optimización de ntree y mtry (por encima de mtry=sqrt(#características) y ntree lo suficientemente grande para la estabilización de OOB) es un área peligrosa - se necesita un núcleo duro de validación cruzada anidada para estar a salvo del sobreajuste, por lo que puede terminar haciendo más cálculos que está tratando de evitar.

Yo diría que la mejor idea es no usar RFE -- con 200k características tendrá terribles requerimientos y una menor posibilidad de ser estable. En su lugar, puede utilizar alguna envoltura de RF relevante como ACE o Boruta -- es probable que el conjunto devuelto sea más grande que el óptimo mínimo, pero sigue siendo mucho más pequeño que el original y, por tanto, más fácil de tratar con RFE.

Y recuerde validar la selección de características independientemente del método (=

0 votos

Gracias @mbq. Entendido. Estaba pensando en realizar RFE "aproximados" (utilizando por ejemplo 100%, 90%, ..., 50% de las características) con 10 veces de validación cruzada (CV) antes de la 'mtry' ajuste. Sólo pensé que siempre y cuando los criterios de eliminación se basan en Gini-índice, esto debería ser relativamente imparcial dado el número adecuado de árboles y CV. Pero entiendo su punto de vista... Gracias por la sugerencia.

2voto

LachlanG Puntos 133

De hecho, estoy haciendo un experimento con esto ahora mismo. Trabajo en la clasificación de texto, por lo que mi conjunto de entrenamiento es típicamente del orden de varios cientos de miles de características, y estoy buscando en la comparación de un SVM lineal (optimizado para el parámetro c) contra la implementación de weka de bosques aleatorios. Estoy encontrando que, para mis datos, alrededor de 74 árboles, y 32 características, hasta ahora, parece dar un rendimiento bastante bueno. Por supuesto, el aumento de estos valores tiende a aumentar el AUC que observo, pero es en el lugar de milésimas de dígitos, en general. Todavía estoy tratando de entender cómo este algoritmo está manejando mis datos, pero sospecho, basado en la Papel Breiman En este sentido, cuanto más características de utilidad general haya en el conjunto de entrenamiento, menos importante será el parámetro del número de árboles. Si lees el artículo (y es un artículo muy bueno), cada árbol consiste en un muestreo aleatorio de las características de tus datos, así que, si hay muchas características útiles en tu conjunto, es más probable que encuentres algo útil en cualquier árbol en particular. Dicho esto, creo que siempre es una buena idea optimizar un algoritmo para los datos particulares. Para mis experimentos, he reservado un conjunto de entrenamiento/optimización en el que estoy realizando una validación cruzada con diferentes valores de parámetros. Me interesaría saber lo que encuentras.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X