← retour aux snippets

sklearn: make_scorer métrique custom

Créer une métrique personnalisée pour GridSearchCV.

objectif

Créer une métrique personnalisée pour GridSearchCV.

code minimal

from sklearn.metrics import make_scorer, fbeta_score
from sklearn.model_selection import GridSearchCV
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import load_breast_cancer

X, y = load_breast_cancer(return_X_y=True)
fb = make_scorer(fbeta_score, beta=2)
grid = GridSearchCV(LogisticRegression(max_iter=1000), {"C":[0.1,1]}, scoring=fb, cv=3).fit(X, y)
print(grid.best_params_["C"] in [0.1,1])

utilisation

print(isinstance(grid.best_score_, float))

variante(s) utile(s)

from sklearn.metrics import make_scorer
from sklearn.metrics import balanced_accuracy_score
sc = make_scorer(balanced_accuracy_score)
print(callable(sc._score_func))

notes

  • Vérifier la direction (greater_is_better).