まとめ
- Organiza las principales estrategias de validación y criterios de información para comparar modelos.
- Ofrece una visión global de la validación cruzada, las curvas de validación/aprendizaje, los criterios de información y la búsqueda de hiperparámetros.
- Resume cómo construir un flujo de evaluación que equilibre restricciones de datos, coste y toma de decisiones.
Capítulo 1 #
Panorama de la selección de modelos #
Escoger un modelo no consiste únicamente en quedarse con la mejor puntuación en un hold-out. Hay que decidir cómo estimar la capacidad de generalización, qué métricas son fiables y cómo controlar el gasto computacional. En este capítulo reunimos las técnicas de validación fundamentales que se reutilizan en regresión y clasificación, y damos indicaciones prácticas sobre cuándo emplear cada una.
Técnicas clave #
1. División de datos y validación cruzada #
- K-Fold / Stratified K-Fold (consulta Validación cruzada / Stratified K-Fold): opción por defecto cuando el volumen de datos es limitado. Estratificar preserva la proporción de clases.
- Validación cruzada anidada (ver Nested CV): imprescindible si quieres una estimación sin sesgo que incluya la búsqueda de hiperparámetros.
- Divisiones para series temporales: necesarias cuando el orden temporal importa; combina ventanas crecientes o deslizantes con conocimiento del dominio.
2. Curvas para diagnosticar #
- Curvas de validación (Validation Curve): muestran cómo influye un hiperparámetro en los resultados de entrenamiento/validación.
- Curvas de aprendizaje (Learning Curve): relacionan rendimiento y tamaño muestral, ayudando a valorar si merece la pena recopilar más datos.
3. Criterios de información #
- AIC / BIC (AIC y BIC): penalizan la complejidad en modelos lineales gaussianos o GLM.
- (C_p) de Mallows y otros estadísticos: útiles cuando se dispone de un estimador analítico del error de predicción.
4. Búsqueda de hiperparámetros #
- Búsqueda en rejilla / aleatoria: exhaustivas en espacios pequeños, estocásticas para obtener ganancias rápidas en espacios amplios.
- Optimización bayesiana / Hyperband: eficaces cuando cada evaluación es costosa.
- Pipelines AutoML: automatizan selección de modelos, generación de características y ajuste de hiperparámetros para obtener una línea base rápida.
Comparar modelos con validación cruzada #
import matplotlib.pyplot as plt
import numpy as np
from sklearn.datasets import load_breast_cancer
from sklearn.ensemble import RandomForestClassifier
from sklearn.linear_model import LogisticRegression
from sklearn.model_selection import StratifiedKFold, cross_val_score
from sklearn.pipeline import make_pipeline
from sklearn.preprocessing import StandardScaler
X, y = load_breast_cancer(return_X_y=True)
cv = StratifiedKFold(n_splits=5, shuffle=True, random_state=42)
models = {
"LogReg (L2)": make_pipeline(
StandardScaler(),
LogisticRegression(max_iter=2000, penalty="l2", C=1.0, solver="lbfgs"),
),
"LogReg (ElasticNet)": make_pipeline(
StandardScaler(),
LogisticRegression(
max_iter=2000,
penalty="elasticnet",
solver="saga",
C=1.0,
l1_ratio=0.4,
),
),
"RandomForest": RandomForestClassifier(
n_estimators=200, max_depth=6, random_state=42
),
}
means = []
stds = []
labels = []
for name, model in models.items():
scores = cross_val_score(model, X, y, cv=cv, scoring="roc_auc")
means.append(scores.mean())
stds.append(scores.std())
labels.append(name)
y_pos = np.arange(len(labels))
fig, ax = plt.subplots(figsize=(6.5, 3.8))
ax.barh(y_pos, means, xerr=stds, color="#2563eb", alpha=0.8)
ax.set_yticks(y_pos)
ax.set_yticklabels(labels)
ax.set_xlabel("ROC-AUC (media 5-fold ± desviación típica)")
ax.set_xlim(0.9, 1.0)
ax.set_title("Comparativa de modelos con validación cruzada")
ax.grid(axis="x", alpha=0.3)
plt.tight_layout()

La validación cruzada enseña la media y la variabilidad. Aquí la regularización elastic-net supera ligeramente a la base manteniendo a raya la varianza.
Cómo diseñar el flujo de evaluación #
- Conoce la distribución de los datos
Detecta desequilibrios de clases, dependencias temporales y posibles fugas antes de dividir. - Aclara qué vas a comparar
Enumera modelos, preprocesamientos y conjuntos de características que vas a evaluar. - Alinea métricas y umbrales
Acorda con las partes interesadas qué métricas guían la decisión (ROC-AUC, RMSE, coste, etc.). - Garantiza la reproducibilidad
Registra semillas, definiciones de splits y versiones de entorno. Automatiza siempre que puedas. - Presupuesta el cálculo
Estima cuánto tardarán las búsquedas en rejilla/aleatoria y refina con métodos adaptativos o bayesianos cuando encuentres regiones prometedoras.
Guía rápida #
| Tema | Páginas relacionadas | Notas |
|---|---|---|
| Fundamentos de la validación cruzada | Validación cruzada / Stratified K-Fold | Resumen de estrategias de división |
| Validación anidada | Nested CV | Estimaciones sin sesgo con ajuste de hiperparámetros |
| Diagnóstico con curvas | Learning Curve / Validation Curve | Visualiza suficiencia de datos y efecto de hiperparámetros |
| Criterios de información | AIC y BIC | Compara modelos paramétricos penalizando la complejidad |
Lista de verificación #
- ¿Se ha documentado cómo se dividen los datos (estratificación, series temporales, etc.)?
- ¿Se han fijado las métricas principales y el formato de reporte?
- ¿Se ha definido el espacio y las fases de búsqueda de hiperparámetros?
- ¿Se han compartido configuraciones y código reproducible de cada experimento?
- ¿Se han tenido en cuenta restricciones de inferencia como tiempo y tamaño del modelo?