IOKELU
Nivel: Inteligencia Artificial – Intermedio (Guía 10)

Optimización de hiperparámetros

Los hiperparámetros controlan el comportamiento de los modelos de Machine Learning. Ajustarlos correctamente puede mejorar significativamente el rendimiento. En esta guía aprenderás las técnicas más usadas para optimizarlos: Grid Search, Random Search y SearchCV.

Tabla de contenidos

  • Qué son los hiperparámetros
  • Grid Search
  • Random Search
  • SearchCV
  • Optimización con Scikit‑Learn
  • Ejercicios
  • Mini‑proyecto

1. Qué son los hiperparámetros

Los hiperparámetros son configuraciones externas al modelo que afectan su entrenamiento. No se aprenden automáticamente: debes elegirlos tú.

# Ejemplo
C = 1.0
max_depth = 5
n_estimators = 100

2. Grid Search

Grid Search prueba todas las combinaciones posibles de hiperparámetros. Es exhaustivo pero puede ser lento.

from sklearn.model_selection import GridSearchCV
from sklearn.ensemble import RandomForestClassifier

param_grid = {
    "n_estimators": [50, 100, 200],
    "max_depth": [None, 5, 10]
}

model = RandomForestClassifier()
grid = GridSearchCV(model, param_grid, cv=5)
grid.fit(X_train, y_train)

print(grid.best_params_)

3. Random Search

Random Search prueba combinaciones aleatorias. Es más rápido y suele ser suficiente.

from sklearn.model_selection import RandomizedSearchCV

param_dist = {
    "n_estimators": [50, 100, 200, 300],
    "max_depth": [None, 5, 10, 20]
}

random_search = RandomizedSearchCV(model, param_dist, cv=5, n_iter=5)
random_search.fit(X_train, y_train)

print(random_search.best_params_)

4. SearchCV

SearchCV es el nombre general para métodos de búsqueda de hiperparámetros. GridSearchCV y RandomizedSearchCV son sus implementaciones más usadas.

5. Optimización con Scikit‑Learn

La optimización de hiperparámetros se combina con validación cruzada para obtener resultados más estables.

grid = GridSearchCV(model, param_grid, cv=10)
grid.fit(X, y)

Usar más folds aumenta la estabilidad pero también el tiempo de cálculo.

6. Ejercicios

7. Mini‑proyecto: Optimización completa

Toma un dataset real y realiza:


Siguiente guía

Pipelines →