# SelectKBest ```python import numpy as np import pandas as pd import seaborn as sns import matplotlib.pyplot as plt from sklearn.feature_selection import SelectKBest, f_regression from sklearn.datasets import make_regression ``` ```python # Simulation d'un jeu de données de régression X, y = make_regression(n_samples=100, n_features=3, random_state=7) fig, ax = plt.subplots(1, 3, figsize=(16, 3)) for i in range(3): ax[i].scatter(X[:, i], y) ax[i].set_xlabel(f'X{i}') ax[i].set_ylabel('y') plt.show() ``` ![png](feature_selection_2_0.png) SelectKBest sélectionne les meilleures variables (celles les plus corréllées à la target). Hyperparamètres: - Utiliser la méthode *f_classic* pour un problème de classification et *f_regression* pour un problème de régression - k = le nombre de features à sélectionner ```python feature_selectore = SelectKBest(score_func=f_regression, k=1) feature_selectore.fit(X, y) feature_selectore.get_feature_names_out() ``` array(['x0'], dtype=object) x0 est la variable la mieux corréllées à la target, ce qu'on voir clairement sur les graphiques