• Saltar a la navegación principal
  • Saltar al contenido principal
Logo Codificando Bits

Codificando Bits

  • Academia
    • Rutas
    • Cursos
    • Proyectos
    • Tutoriales
  • Acceder
  • Suscribirse

9 – Poda de un árbol de decisión

Lección 9 del curso Árboles de Decisión.

En los dos módulos anteriores hemos visto todo lo relacionado con los detalles de funcionamiento e implementación de los árboles de clasificación y los árboles de regresión. Y en la lección anterior vimos cómo entrenar, validar y poner a prueba un árbol de regresión usando la librería Scikit-Learn.

Sin embargo, como lo mencionamos en lecciones anteriores, una situación que usualmente podemos encontrar al momento de entrenar y validar estos árboles de decisión es la presencia del «overfitting» (o sobre-ajuste) del árbol. Esto quiere decir que el árbol generará mejores predicciones con el set de entrenamiento y no tanto con el set de prueba.

Así que la idea es poder corregir este problema o al menos reducir la presencia del «overfitting» para lograr que el modelo logre generalizar, es decir que logre generar mejores predicciones con datos que nunca antes ha visto (es decir, los datos de prueba).

Entonces en este tercer módulo del curso veremos precisamente un par de técnicas que usualmente podemos implementar para lograr reducir el «overfitting» de un árbol de decisión.

Y en esta lección hablaremos de la primera técnica para reducir el sobre-ajuste de un árbol: la poda de un árbol de decisión. Así que comencemos entendiendo en detalle cómo funciona el algoritmo de poda de complejidad de costo mínimo (o cost complexity pruning) que es uno de los métodos más usados para reducir el «overfitting»:

Contenido exclusivo para suscriptores

Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.

Como acabamos de ver la idea de la reducción del sobre-ajuste en un árbol de decisión es sencilla. Generalmente, cuando un árbol exhibe «overfitting» es porque es demasiado complejo (es decir que contiene demasiadas hojas y su profundidad es muy elevada). Así que una manera de reducir este sobre-ajuste es precisamente simplificando el árbol, lo cual equivale a eliminar algunas hojas que no afecten demasiado su desempeño pero que a la vez reduzcan dicho «overfitting». Y al quitar hojas lo que estamos haciendo es precisamente podar el árbol: ¡de allí el nombre del método!

Así que habiendo entendido en detalle cómo funciona el algoritmo de poda de complejidad de costo mínimo, veamos lo sencillo que resulta hacer uso de este algoritmo en Scikit-Learn:

Contenido exclusivo para suscriptores

Si eres suscriptor accede en este enlace ó suscríbete a la Academia Online y accede a todo el contenido (lecciones en video, código fuente, sets de datos y descargas) de todos los cursos, proyectos y tutoriales.

Como lo acabamos de ver en este ejemplo práctico, resulta muy sencillo realizar la poda de un árbol de decisión haciendo uso de Scikit-Learn. La idea es aprovechar el método «cost_complexity_pruning_path» que nos permite realizar diferentes podas del árbol usando diferentes parámetros 𝛼.

Así que lo que debemos hacer es entrenar múltiples árboles, uno con cada uno de los diferentes valores de 𝛼, validarlo con los sets de entrenamiento y prueba, generar un gráfico de desempeño (para entrenamiento y validación) vs. el valor de 𝛼 y luego determinar el valor del parámetro 𝛼 que nos genera un árbol podado con el menor «overfitting» posible.

Y con esto ya tenemos el primer método que nos permite reducir el sobre-ajuste de un árbol. En la siguiente lección veremos el segundo método: cómo usar el ajuste de hiper-parámetros para reducir el «overfitting» en un árbol de decisión.

Todas las lecciones del curso Árboles de Decisión

© Codificando Bits, LLC | Blog | Contacto | Servicios | Acerca de | Políticas

¿Has olvidado la contraseña?
¿Has perdido tu contraseña? Por favor, introduce tu nombre de usuario o dirección de correo electrónico. Recibirás por correo electrónico un enlace para crear una nueva contraseña.
body::-webkit-scrollbar { width: 7px; } body::-webkit-scrollbar-track { border-radius: 10px; background: #f0f0f0; } body::-webkit-scrollbar-thumb { border-radius: 50px; background: #dfdbdb }