typestar

Grid search en Python

GridSearchCV prueba cada combinación con validación cruzada y guarda la mejor.

from sklearn.datasets import load_iris
from sklearn.model_selection import GridSearchCV
from sklearn.pipeline import Pipeline
from sklearn.preprocessing import StandardScaler
from sklearn.svm import SVC

X, y = load_iris(return_X_y=True)
pipeline = Pipeline([("scale", StandardScaler()), ("svc", SVC())])

malla = {
    "svc__C": [0.1, 1.0, 10.0],
    "svc__kernel": ["linear", "rbf"],
}
busqueda = GridSearchCV(pipeline, malla, cv=5, scoring="accuracy", n_jobs=1)
busqueda.fit(X, y)

print(busqueda.best_params_)
print(f"{busqueda.best_score_:.3f}")
print(busqueda.best_estimator_.named_steps["svc"].C)

Cómo funciona

  1. Dentro de un pipeline, los parámetros se nombran step__parameter.
  2. best_params_ y best_score_ reportan al ganador.
  3. refit=True deja el mejor modelo ajustado con todos los datos.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
19
Caracteres a escribir
595
Tokens
160
Ritmo de tres estrellas
110 tpm

Al ritmo de tres estrellas de 110 tokens por minuto, este intento toma unos 87 segundos.

Escribe este fragmento

Paso 3 de 4 en Validación; paso 10 de 25 en Machine learning con scikit-learn.

← Anterior Siguiente →