Prevención del Sobreajuste en Árboles de Decisión
Antes de implementar un Árbol de Decisión utilizando Python, es fundamental abordar un tema importante: sobreajuste - el principal desafío asociado a los Árboles de Decisión.
A continuación se muestra un ejemplo de cómo el Árbol de Decisión se ajusta al conjunto de datos. Observe cómo el modelo se adapta a los datos de entrenamiento, capturando sus patrones y particularidades:
Aunque el modelo se ajusta perfectamente al conjunto de entrenamiento sin clasificar erróneamente ninguna instancia, el problema es que los límites de decisión son demasiado complejos. En consecuencia, la precisión en el conjunto de prueba (o validación cruzada) será significativamente menor que la precisión en el conjunto de entrenamiento, lo que indica que el modelo presenta sobreajuste.
La razón de esto es que el modelo realizará tantas divisiones como sean necesarias para ajustarse perfectamente a los datos de entrenamiento.
Afortunadamente, el Árbol de Decisión es altamente configurable, por lo que podemos ajustar sus hiperparámetros para minimizar el sobreajuste.
Profundidad Máxima del Árbol
La profundidad de un nodo es la distancia (vertical) desde el nodo hasta el nodo raíz.
Podemos restringir la profundidad máxima de un Árbol de Decisión, haciéndolo más pequeño y menos propenso al sobreajuste. Para ello, convertimos los nodos de decisión en una profundidad máxima en nodos hoja.
Aquí también se muestra un gif que ilustra cómo cambia la frontera de decisión con diferentes valores de profundidad máxima:
Número mínimo de muestras
Otra forma de restringir el árbol es establecer el número mínimo de muestras en los nodos hoja. Esto hará que el modelo sea más simple y más robusto frente a valores atípicos.
Se puede observar cómo este hiperparámetro afecta la frontera de decisión:
Ambos hiperparámetros están disponibles en la implementación de Árbol de Decisión de scikit-learn.
Por defecto, el árbol no tiene restricciones: max_depth está configurado en None, lo que significa que no hay límite de profundidad, y min_samples_leaf está configurado en 1.
¡Gracias por tus comentarios!
Pregunte a AI
Pregunte a AI
Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla
Awesome!
Completion rate improved to 4.17
Prevención del Sobreajuste en Árboles de Decisión
Desliza para mostrar el menú
Antes de implementar un Árbol de Decisión utilizando Python, es fundamental abordar un tema importante: sobreajuste - el principal desafío asociado a los Árboles de Decisión.
A continuación se muestra un ejemplo de cómo el Árbol de Decisión se ajusta al conjunto de datos. Observe cómo el modelo se adapta a los datos de entrenamiento, capturando sus patrones y particularidades:
Aunque el modelo se ajusta perfectamente al conjunto de entrenamiento sin clasificar erróneamente ninguna instancia, el problema es que los límites de decisión son demasiado complejos. En consecuencia, la precisión en el conjunto de prueba (o validación cruzada) será significativamente menor que la precisión en el conjunto de entrenamiento, lo que indica que el modelo presenta sobreajuste.
La razón de esto es que el modelo realizará tantas divisiones como sean necesarias para ajustarse perfectamente a los datos de entrenamiento.
Afortunadamente, el Árbol de Decisión es altamente configurable, por lo que podemos ajustar sus hiperparámetros para minimizar el sobreajuste.
Profundidad Máxima del Árbol
La profundidad de un nodo es la distancia (vertical) desde el nodo hasta el nodo raíz.
Podemos restringir la profundidad máxima de un Árbol de Decisión, haciéndolo más pequeño y menos propenso al sobreajuste. Para ello, convertimos los nodos de decisión en una profundidad máxima en nodos hoja.
Aquí también se muestra un gif que ilustra cómo cambia la frontera de decisión con diferentes valores de profundidad máxima:
Número mínimo de muestras
Otra forma de restringir el árbol es establecer el número mínimo de muestras en los nodos hoja. Esto hará que el modelo sea más simple y más robusto frente a valores atípicos.
Se puede observar cómo este hiperparámetro afecta la frontera de decisión:
Ambos hiperparámetros están disponibles en la implementación de Árbol de Decisión de scikit-learn.
Por defecto, el árbol no tiene restricciones: max_depth está configurado en None, lo que significa que no hay límite de profundidad, y min_samples_leaf está configurado en 1.
¡Gracias por tus comentarios!