objectif
Gérer l’imbalance via class_weight=‘balanced’ ou poids custom.
code minimal
from sklearn.linear_model import LogisticRegression
from sklearn.datasets import make_classification
X, y = make_classification(weights=[0.95, 0.05], random_state=0)
clf = LogisticRegression(class_weight="balanced", max_iter=1000).fit(X, y)
print(hasattr(clf, "predict_proba"))
utilisation
from sklearn.utils.class_weight import compute_class_weight
import numpy as np
classes = np.unique(y)
cw = compute_class_weight("balanced", classes=classes, y=y)
print(len(cw) == len(classes))
variante(s) utile(s)
from sklearn.svm import SVC
print(hasattr(SVC(class_weight={1:5}), "fit"))
notes
- Toujours valider avec PR AUC / recall selon usage.