← retour aux snippets

sklearn: CalibratedClassifierCV

Calibrer un classifieur (sigmoïde/isotonic).

objectif

Calibrer un classifieur (sigmoïde/isotonic).

code minimal

from sklearn.calibration import CalibratedClassifierCV
from sklearn.linear_model import SGDClassifier
from sklearn.datasets import load_breast_cancer
from sklearn.model_selection import train_test_split

X, y = load_breast_cancer(return_X_y=True)
Xtr, Xte, ytr, yte = train_test_split(X, y, random_state=0, stratify=y)
base = SGDClassifier(random_state=0, loss="log_loss").fit(Xtr, ytr)
cal = CalibratedClassifierCV(base, method="isotonic", cv=3).fit(Xtr, ytr)
print(hasattr(cal, "predict_proba"))

utilisation

print(cal.predict_proba(Xte)[:1].round(3).tolist())

variante(s) utile(s)

from sklearn.calibration import CalibratedClassifierCV
print(hasattr(CalibratedClassifierCV(method="sigmoid"), "fit"))

notes

  • Isotonic plus flexible mais nécessite plus de données.