← retour aux snippets

sklearn: SelectKBest

Sélectionner k meilleures features selon un score univarié.

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.