4 votos

¿Cómo podar un árbol de decisiones correctamente en R?

Tengo una muestra de 12,500 observaciones y 12 variables explicativas. Quiero construir un árbol de decisión de poda, para hacer eso estoy usando la función rpart y luego la función prune. Mi problema es que no estoy seguro de cómo construir el árbol completo, estoy usando

rpart(*, *, *, control = (minbucket=x, minsplit=y, cp=z))
# los * son irrelevantes para mi pregunta

para construir el árbol completo, pero no sé qué valores utilizar para x, y y z. Todos los ejemplos que he encontrado tienen muchas menos observaciones en comparación con mi caso.

2voto

Factor Mystic Puntos 12465

Para poner cada observación en su propia hoja, use minbucket=2, minsplit=1, cp=-1. El valor negativo para cp es para asegurar que rpart no termine de dividirse prematuramente.

Probablemente no quieras poner cada observación en su propia hoja. Solo hace que la poda sea más difícil y que tu árbol tarde mucho tiempo en ajustarse y memoria para almacenarse. Puedes usar los valores predeterminados de minbucket y minsplit en su mayor parte (pero cp=-1 está bien). Si tienes un conjunto de datos grande (mucho más grande que 12500 casos) deberías aumentar estos valores.

1voto

jmpena Puntos 399

No duele establecer cp mucho más bajo que el valor predeterminado de 0.01 porque plotcp() te mostrará dónde necesitas establecer cp de todos modos. Intenta con 0.002.

En realidad, no me preocupo por minbucket y minsplit (no tengo idea de cuánto me podría estar afectando), así que alguien más tendrá que ayudarte con eso.

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