objectif
Sélectionner k meilleures features selon un score univarié.
code minimal
from sklearn.feature_selection import SelectKBest, f_classif
from sklearn.datasets import load_iris
X, y = load_iris(return_X_y=True)
sel = SelectKBest(score_func=f_classif, k=2).fit(X, y)
print(sel.get_support().sum() == 2)
utilisation
print(sel.transform(X).shape[1] == 2)
variante(s) utile(s)
from sklearn.feature_selection import mutual_info_classif
mi = mutual_info_classif(X, y, random_state=0)
print(len(mi) == X.shape[1])
notes
- Placer dans un Pipeline pour éviter fuite d’information.