🌳 Introducción 🏗️ Anatomía 🔧 Algoritmos 📊 Métricas 💻 Código 🌲 Ensembles 🎯 Aplicaciones

🌳 Árboles de Decisión: El Arte del Razonamiento Jerárquico

👨‍🏫 Profesor: Sergio Gevatschnaider

⏱️ Duración: 120 minutos

🎯 Nivel: Intermedio‑Avanzado

🌳 1. El Árbol como Metáfora del Razonamiento

🩺 El Médico en la Guardia: Un Diagnóstico Paso a Paso

Imagina que acompañas a un médico recién llegado a una guardia. Frente a cada paciente, él hace una serie de preguntas estratégicas:

  • «¿Tiene fiebre?» → Si SÍ: investigar infección
  • «¿Existe dolor en el pecho?» → Si SÍ: evaluar corazón
  • «¿Dificultad para respirar?» → Si SÍ: examinar pulmones

Según las respuestas, descarta o confirma diagnósticos hasta llegar a una conclusión. Esa secuencia de preguntas binarias —y la lógica que las organiza— es exactamente lo que un árbol de decisión formaliza: un camino jerárquico donde cada bifurcación responde a la pregunta que mejor distingue lo que nos interesa predecir.

🏗️ 2. Anatomía de un Árbol

🔍 Componentes Fundamentales

Un árbol de decisión se compone de tres elementos esenciales que forman su estructura jerárquica de razonamiento:

🌱 Nodo Raíz

Función: Punto de partida del árbol

Característica: Pregunta más discriminante

🔀 Nodos Internos

Función: Ramificaciones que refinan la clasificación

Característica: Pruebas sucesivas

🍃 Hojas

Función: Predicción final

Característica: Etiqueta o valor

🎯 Árbol Interactivo: Haz clic en los nodos

Edad ≤ 30?


Ingresos ≤ 50K?
Historial Crediticio?


✅ Aprobar
⚠️ Revisar
❌ Rechazar
✅ Aprobar

📊 3. ¿Cómo Decide el Árbol Qué Preguntar?

Para cada posible división, el algoritmo mide impureza o error. Luego elige la pregunta que más purifica los grupos resultantes.

📈 Entropía
🎯 Índice Gini
📊 Error Cuadrático
🧪 Demo Interactivo

📈 Entropía: Midiendo el Desorden

Fórmula: H(S) = −Σ pi log₂ pi

🎯 Gini: Probabilidad de Error

Fórmula: Gini(S) = 1 − Σ pi²

📊 Suma de Errores Cuadráticos (SSE)

Para regresión: minimizar varianza dentro de cada rama.

🧪 Calculadora de Impureza

50%

Entropía

1.000

Gini

0.500

🔧 4. Algoritmos de Construcción

💡 ID3 / C4.5 / C5.0

Basados en entropía e información mutua. Ideal para datos categóricos.

⚙️ CART

Utiliza Gini (clasificación) o SSE (regresión). Soporta características numéricas y poda cost‑complexity.

💻 5. Implementación en Python (scikit‑learn)

decision_tree.py
from sklearn.tree import DecisionTreeClassifier from sklearn.model_selection import train_test_split from sklearn import datasets # Cargar ejemplo de flores Iris X, y = datasets.load_iris(return_X_y=True) X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42) clf = DecisionTreeClassifier(criterion="gini", max_depth=4, random_state=42) clf.fit(X_train, y_train) print(f"Accuracy: {clf.score(X_test, y_test):.3f}")

🌲 6. Más Allá del Árbol Único: Ensembles

🌳 Random Forest

Promedia cientos de árboles entrenados en subsets aleatorios → menor varianza.

🚀 Gradient Boosting

Cada árbol corrige los errores del anterior → menor sesgo.

⚡ XGBoost / LightGBM

Implementaciones optimizadas para grandes datasets y GPU.

🎯 7. Aplicaciones Reales