Normalisation des Données
Min-max et standardisation z-score
Enonce
Implémenter standardiser(X) qui renvoie (X_norm, mu, sigma) et normaliser_minmax(X) qui renvoie (X_norm, mn, mx). Vérifier numériquement que les colonnes du résultat ont bien moyenne 0 / écart-type 1 (resp. min 0 / max 1).
Signature attendue
def standardiser(X) -> tuple:
Exemple
standardiser([[1.0], [2.0], [3.0]])[0].round(6).tolist()→[[-1.224745], [0.0], [1.224745]]
📖 Rappel de cours
Avant d'appliquer un algorithme sensible aux échelles (k-NN, k-means, régression, descente de gradient), il faut normaliser les données pour que toutes les features aient une magnitude comparable. Sinon, une feature en milliers d'euros écrase une feature en années.
Min-max scaling :
$x'_{ij} = \frac{x_{ij} - \min_j}{\max_j - \min_j}$
Ramène chaque feature dans $[0, 1]$.
Standardisation (z-score) :
$x'_{ij} = \frac{x_{ij} - \mu_j}{\sigma_j}$
Chaque feature obtient moyenne $0$ et écart-type $1$.
Toujours calculer $\mu, \sigma$ (ou min, max) sur l'ensemble d'entraînement, puis appliquer les mêmes paramètres sur le test pour éviter une fuite d'information.
← Exercices d'IA et d'apprentissage automatique en Python — CPGE
Exercices du meme theme
- Matrice de Confusion et Métriques
- Validation Croisée k-fold
- Arbre de Décision Simple
- Métriques de Régression
- Régression Polynomiale
- Régression Logistique
La correction commentee, les indices progressifs, l'execution du code dans le navigateur et la verification par l'IA sont reserves aux abonnes.