En relación con otros modelos, los bosques aleatorios tienen menos probabilidades de sobreajustarse, pero aún es algo que desea hacer un esfuerzo explícito para evitar. Ajustar los parámetros del modelo es definitivamente un elemento para evitar el sobreajuste, pero no es el único. De hecho, diría que es más probable que sus características de entrenamiento conduzcan a un sobreajuste que los parámetros del modelo, especialmente con un bosque aleatorio. Entonces, creo que la clave es realmente tener un método confiable para evaluar su modelo para verificar el sobreajuste más que cualquier otra cosa, lo que nos lleva a su segunda pregunta.
Como se mencionó anteriormente, ejecutar la validación cruzada le permitirá evitar el sobreajuste. La elección de su mejor modelo en función de los resultados del CV conducirá a un modelo que no se ha sobreajustado, lo que no es necesariamente el caso de un error fuera de la bolsa. La forma más fácil de ejecutar CV en R es con el caret
paquete. Un ejemplo simple está abajo:
> library(caret)
>
> data(iris)
>
> tr <- trainControl(method = "cv", number = 5)
>
> train(Species ~ .,data=iris,method="rf",trControl= tr)
Random Forest
150 samples
4 predictor
3 classes: 'setosa', 'versicolor', 'virginica'
No pre-processing
Resampling: Cross-Validated (5 fold)
Summary of sample sizes: 120, 120, 120, 120, 120
Resampling results across tuning parameters:
mtry Accuracy Kappa Accuracy SD Kappa SD
2 0.96 0.94 0.04346135 0.06519202
3 0.96 0.94 0.04346135 0.06519202
4 0.96 0.94 0.04346135 0.06519202
Accuracy was used to select the optimal model using the largest value.
The final value used for the model was mtry = 2.