En la rutina rpart () para crear modelos CART, usted especifica el parámetro de complejidad al que desea podar su árbol. He visto dos recomendaciones diferentes para elegir el parámetro de complejidad:
Elija el parámetro de complejidad asociado con el mínimo error posible de validación cruzada. Quick-R y HSAUR recomiendan este método .
Elija el parámetro de mayor complejidad cuyo error de validación cruzada estimado aún se encuentra dentro de un SE del mínimo error de validación cruzada posible. Esta es mi interpretación de la documentación del paquete, que dice: "Una buena elección de cp para la poda es a menudo el valor más a la izquierda para el cual la media se encuentra debajo de la línea horizontal" en referencia a este gráfico .
Las dos opciones de cp producen árboles bastante diferentes en mi conjunto de datos.
Parece que el primer método siempre producirá un árbol más complejo y potencialmente sobreajustado. ¿Existen otras ventajas, desventajas, recomendaciones en la literatura, etc. que debo tener en cuenta al decidir qué método usar? Puedo proporcionar más información sobre mi problema de modelado particular si eso fuera útil, pero estoy tratando de mantener esta pregunta lo suficientemente amplia como para que sea relevante para los demás.
party
paquete que utiliza pruebas de significación (generalmente no es algo que recomiendo, pero parece relevante aquí). Sin embargo, como siempre, la mejor prueba es la utilidad y el sentido; Esto es especialmente cierto si está interesado principalmente en la explicación.Respuestas:
En la práctica, he visto adoptar ambos enfoques, y creo que, en general, no se esperaría que sus resultados difieran mucho de ninguna manera.
Dicho esto, Hastie et al recomiendan la regla de "error estándar" en los Elementos del aprendizaje estadístico , y tiendo a confiar en su juicio (Sección 7.10, pág. 244 en mi versión). La cita relevante es:
Su intuición de por qué uno seguiría la regla de error estándar es correcta: haría eso para evitar seleccionar un modelo que se ajuste a los datos.
fuente
Primero debe comenzar usando los argumentos
minsplit=0
ycp=0
(parámetro de complejidad), luego usar las funcionesplotcp(T.max)
yprintcp(T.max)
elegir el valorcp
correspondiente al error relativo mínimo y podar el árbol por la funciónprune.rpart(T.max, cp=....)
Esto debería obtener el árbol de clasificación óptimo, ya que tienden a ser demasiado optimistas.
fuente