- Árboles de Decisión: Fundamentos y construcción para flujos de aprobación
Árboles de Decisión: Fundamentos y construcción para flujos de aprobación
Los árboles de decisión son pilares del aprendizaje supervisado: interpretables, flexibles y capaces de modelar relaciones no lineales. En esta lección diseccionamos sus fundamentos —desde el criterio de división hasta la poda— y los aplicamos a un flujo de aprobación de créditos, donde la transparencia es tan importante como la precisión.
🌳 1. Arquitectura de un árbol de decisión
Un árbol está compuesto por nodos de decisión (prueba sobre un atributo), ramas (resultados de la prueba) y hojas (etiqueta de clase o valor numérico). El objetivo es particionar el espacio de características en regiones homogéneas.
- Nodo raíz: mejor atributo según una métrica de impureza.
- Nodos internos: sub-particiones hasta alcanzar criterio de parada.
- Hojas: predicción final (mayoría de clase o media).
Algoritmos clásicos: ID3, C4.5, CART
| Algoritmo | Criterio de división | Tipo de salida | Característica clave |
|---|---|---|---|
| ID3 | Ganancia de información (entropía) | Categórica | Solo atributos discretos, sin poda |
| C4.5 | Ratio de ganancia (normalizado) | Categórica | Maneja numéricos, poda post-, reglas |
| CART | Índice Gini / error cuadrático | Binaria (regresión o clasificación) | Siembre produce árbol binario |
En la práctica, CART es el más usado por su eficiencia y soporte para regresión. No obstante, C4.5 ofrece reglas más compactas.
📐 2. Criterios de división: entropía, Gini y error de clasificación
La calidad de un split se mide por la reducción de impureza. Estas son las tres métricas fundamentales para clasificación binaria:
| Métrica | Fórmula (para 2 clases) | Rango | Preferencia |
|---|---|---|---|
| Entropía | – p log₂(p) – (1–p) log₂(1–p) | [0,1] | Mayor sensibilidad a cambios en pureza |
| Índice Gini | 1 – p² – (1–p)² = 2p(1–p) | [0,0.5] | Más rápido, similar a entropía |
| Error de clasificación | 1 – max(p, 1–p) | [0,0.5] | Menos sensible, no se usa en splits |
El cálculo de ganancia (ID3): Ganancia = Impureza(padre) – Σ (│hijo│/│total│ × Impureza(hijo)). C4.5 normaliza dividiendo por la entropía del split.
Comparación de impureza para una clase p (prob. positiva)
✂️ 3. Poda: pre-poda, post-poda y el dilema sesgo-varianza
Árboles profundos sobreajustan (bajo sesgo, alta varianza). Árboles poco profundos subajustan (alto sesgo, baja varianza). La poda busca el punto óptimo.
Pre-poda (temprana)
- Detener crecimiento antes de que el árbol sea complejo.
- Hiperparámetros: profundidad máxima, mínimo de muestras por hoja, mínimo de muestras para dividir.
- Ventaja: rápido, menos sobreajuste.
- Desventaja: puede detenerse demasiado pronto (sesgo).
Post-poda (cost-complexity)
- Construir árbol completo, luego ir podando ramas.
- Usa un parámetro α que penaliza el número de hojas.
- Ventaja: mejor exploración del espacio de modelos.
- Desventaja: más costoso computacionalmente.
Balance sesgo-varianza
Árbol profundo → baja distorsión en train, alta sensibilidad en test. Árbol con poda → ligera distorsión, pero generaliza mejor. La validación cruzada guía la poda óptima.
🧩 4. Manejo de datos categóricos y numéricos
Atributos numéricos: ordenar valores, probar thresholds entre datos consecutivos. C4.5 y CART eligen el punto de corte que minimiza la impureza.
Atributos categóricos: en scikit-learn (CART) se requiere codificación (OneHot, Ordinal). C4.5 maneja directamente splits multi-ramas. Recomendación: para categorías con muchos niveles, considerar target encoding o agrupar categorías raras.
Ejemplo de búsqueda de threshold numérico
# Datos ordenados: edad (22, 25, 30, 35, 45, 50)
# puntos de corte: 23.5, 27.5, 32.5, 40, 47.5
# se evalúa Gini para cada candidato
mejor_corte = minimizar(impureza_hijos)
🏦 5. Aplicación práctica: árbol de decisión para aprobación de créditos
Imaginemos un banco que quiere autorizar préstamos con criterios claros. El árbol generado se traduce en reglas if-then auditables.
| Atributo | Tipo | Ejemplo de división |
|---|---|---|
| Ingresos mensuales | Numérico | ¿Ingresos ≥ 2500? |
| Score crediticio | Numérico | ¿Score ≥ 680? |
| Tipo de empleo | Categórico | ¿Fijo / Freelance / Desempleado? |
| Edad | Numérico | ¿Edad ≥ 23? |
Reglas extraíbles (ejemplo):
SI ingresos ≥ 2500 Y score ≥ 680 → Aprobado (confianza 93%)
SI ingresos
Interpretabilidad: a diferencia de una red neuronal, cada decisión puede ser explicada al cliente o regulador. El árbol puede visualizarse con sklearn.tree.plot_tree o exportarse a texto.
⚖️ 6. Sesgo y varianza: árbol profundo vs. superficial
La profundidad controla el equilibrio. A continuación se muestra un análisis conceptual medido sobre un dataset de crédito simulado:
| Profundidad | Error entrenamiento | Error prueba (CV) | Sesgo | Varianza | Interpretación |
|---|---|---|---|---|---|
| 1 (stump) | 34% | 36% | Alto | Bajo | Subajuste |
| 4 | 12% | 14% | Medio | Medio | Equilibrio |
| 8 | 3% | 11% | Bajo | Alto | Sobreajuste |
| 14 (sin poda) | 0% | 24% | Muy bajo | Muy alto | Sobreajuste extremo |
Error en entrenamiento vs. prueba según profundidad
La poda (post-poda con α=0.02) en el árbol profundo reduce el error de prueba de 24% a 16%, acercándose al equilibrio.
🎯 7. Conclusión: claves para dominar árboles de decisión
- Elige el criterio de división: Gini por defecto, entropía si quieres más sensibilidad (casi siempre similar).
- Controla la complejidad: pre-poda con profundidad máxima y mín samples leaf; post-poda con cost-complexity y validación cruzada.
- Preprocesa con cuidado: escalado no es necesario, pero codifica categorías correctamente.
- Interpreta con reglas: extrae if-then para explicar decisiones a stakeholders.
- Visualiza siempre: un árbol bien diseñado se puede dibujar; si es demasiado grande, poda primero.
Siguiente paso: implementa un árbol con sklearn en tu dataset de crédito, evalúa la profundidad con cross-validation y extrae las reglas. La práctica consolidará estos fundamentos.
No hay comentarios por ahora.
Compartir este contenido
Compartir enlace
Compartir en redes sociales
Compartir por correo electrónico
Please iniciar sesión para compartir esto Artículo por correo electrónico.