← retour aux snippets

sklearn: GridSearchCV & RandomizedSearchCV

Optimiser les hyperparamètres par grille ou échantillonnage.

objectif

Optimiser les hyperparamètres par grille ou échantillonnage.

code minimal

from sklearn.model_selection import GridSearchCV, RandomizedSearchCV
from sklearn.svm import SVC
from sklearn.datasets import load_iris

X, y = load_iris(return_X_y=True)
grid = GridSearchCV(SVC(), {"C":[0.1,1,10]}, cv=3).fit(X, y)
print(grid.best_params_["C"] in [0.1,1,10])

utilisation

from sklearn.model_selection import RandomizedSearchCV
import numpy as np
rnd = RandomizedSearchCV(SVC(), {"C":[0.1,1,10], "gamma":[0.01,0.1,1]}, n_iter=4, random_state=0, cv=3).fit(X, y)
print(isinstance(rnd.best_score_, float))

variante(s) utile(s)

print(grid.cv_results_["mean_test_score"][:3].tolist())

notes

  • Fixer random_state pour la reproductibilité.