¿El modelado con bosques aleatorios requiere validación cruzada?


23

Hasta donde he visto, las opiniones tienden a diferir sobre esto. Las mejores prácticas ciertamente dictarían el uso de validación cruzada (especialmente si se comparan RF con otros algoritmos en el mismo conjunto de datos). Por otro lado, la fuente original afirma que el hecho de que el error OOB se calcule durante el entrenamiento del modelo es suficiente como un indicador del rendimiento del conjunto de pruebas. Incluso Trevor Hastie, en unas conversaciones relativamente recientes, dice que "Los bosques aleatorios proporcionan validación cruzada gratuita". Intuitivamente, esto tiene sentido para mí, si estoy entrenando y tratando de mejorar un modelo basado en RF en un conjunto de datos.

¿Puede alguien presentar los argumentos a favor y en contra de la necesidad de validación cruzada con bosques aleatorios?


Las preguntas que buscan opiniones explícitamente generalmente se desaconsejan en los sitios de intercambio de pila, datascience.stackexchange.com/help/dont-ask , ¿tal vez podría reformular la pregunta para requerir ejemplos en apoyo de la experiencia de los usuarios? O busque una base teórica para una posición u otra.
image_doctor

2
Los bosques aleatorios son menos propensos a sobreajustar los otros algoritmos de NM, pero aún se debe recomendar la validación cruzada (o alguna forma de evaluación alternativa).
David

Creo que deberías hacer esa pregunta sobre el estadístico SO: stats.stackexchange.com
Marcin Kosiński

Me gustaría apoyar a @David ... de una forma u otra, vas a hacer una validación cruzada.

¿Podría proporcionar una referencia para la declaración reclamada por Trevor Hastie?
tipanverella

Respuestas:


7

Por defecto, el bosque aleatorio recoge 2/3 de los datos para el entrenamiento y el descanso para las pruebas de regresión y casi el 70% de los datos para el entrenamiento y el descanso para las pruebas durante la clasificación. Por principio, ya que aleatoriza la selección de variables durante cada división de árbol, no es propenso a sobreajustar a diferencia de otros modelos. Sin embargo, si desea usar CV usando nfolds en sklearn, aún puede usar el concepto de conjunto de espera como oob_score (out of bag) = True que muestra el rendimiento del modelo con o sin usar CV. Entonces, en pocas palabras, usar oob_score = True con o sin nfolds puede decir por sí mismo si usar CV es bueno para sus datos. En general, si su objetivo sigue una determinada distribución y no tiene muchos datos de observación, entonces usar CV no dará Mucha mejora.


5

Una diferencia clave es que la validación cruzada garantiza que todas las muestras aparecerán en los conjuntos de entrenamiento y prueba, por lo que el 100% de sus datos se utilizarán en algún momento para el entrenamiento y las pruebas.

Dependiendo del tamaño de su conjunto de datos, el arranque, el muestreo con reemplazo, que ocurre en el bosque aleatorio no garantizará que las divisiones que vean los árboles contengan todas las instancias. Si tiene suficientes árboles en su bosque, la estimación OOB debería converger asintóticamente hacia el mejor valor estimado de OOB.

La precisión de ambos métodos dependerá en cierta medida de los datos, por lo que puede ser prudente comparar ambos métodos con los datos particulares que tiene frente a usted y ver si las estimaciones de CV y ​​RF OOB dan valores similares.

Si no lo hacen, entonces valdría la pena explorar más estimaciones de la verdadera tasa de error, tal vez por valores mucho más altos de K en CV.


3

Hice algunas pruebas en un conjunto de datos de 50k filas, usando sklearn.RandomForestRegressor.

Obtengo puntajes significativamente diferentes: estoy usando un gini normalizado para la métrica, dependiendo de si uso rf.oob_prediction_(0.2927) o un CV KFold (0.3258 para 7 pliegues y 0.3236 para 3 pliegues).

Con eso, parece que su punto sobre "especialmente si comparar RFs con otros algoritmos en el mismo conjunto de datos" es una consideración importante para usar el CV manual en lugar de confiar en la predicción OOB.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.