# 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()
```

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