El paquete caret puede ayudarlo a optimizar la elección de parámetros para su problema. La viñeta caretTrain muestra cómo ajustar los parámetros de gbm utilizando la validación cruzada repetida 10 veces; hay otros enfoques de optimización disponibles; todos pueden ejecutarse en paralelo con el paquete foreach. Use vignette("caretTrain", package="caret")
para leer el documento.
La afinación soportes del paquete shrinkage
, n.trees
y interaction.depth
parámetros para el modelo GBM, aunque se puede añadir su propia.
Para la heurística, este es mi enfoque inicial:
shrinkage
: Tan pequeño como tenga tiempo (el manual de gbm tiene más información sobre esto, pero en general nunca puede salir mal con un valor menor). Su conjunto de datos es pequeño, por lo que probablemente comenzaría con 1e-3
n.trees
: Por lo general, crezco un modelo inicial agregando más y más árboles hasta que gbm.perf
dice que tengo suficiente (en realidad, típicamente a 1.2 veces ese valor) y luego lo uso como guía para un análisis más detallado.
interaction.depth
: ya tienes una idea sobre esto. Pruebe valores más pequeños también. El valor máximo es floor (sqrt (NCOL (datos)).
n.minobsinnode
: Encuentro realmente importante ajustar esta variable. No quiere que sea tan pequeño que el algoritmo encuentre demasiadas características espurias.