KNN / 04 · EXERCICE
Écrire les transformations avec NumPy
Les paramètres sont calculés colonne par colonne avec axis=0, sur X_train uniquement.
La soustraction et la division diffusent un vecteur de m paramètres sur toutes les lignes : c’est le broadcasting. Les mêmes paramètres transforment X_test.
Exemple expliqué
- 1
mu = X_train.mean(axis=0) sigma = X_train.std(axis=0, ddof=0)Moyennes et écarts types d’entraînement. X_train est ici un tableau NumPy.
- 2
sigma = np.where(sigma == 0, 1, sigma) Z_train = (X_train-mu)/sigma Z_test = (X_test-mu)/sigmaUne colonne constante est protégée contre la division par zéro ; elle devient nulle sur l’entraînement.
- 3
minimum = X_train.min(axis=0) etendue = X_train.max(axis=0)-minimum etendue = np.where(etendue == 0, 1, etendue)Paramètres de la transformation min–max, également protégés pour les colonnes constantes.
- 4
M_train = (X_train-minimum)/etendue M_test = (X_test-minimum)/etendueLa transformation du test ne recalcule ni minimum ni maximum.
Code à compléter
Calculer Z_train et Z_test standardisés, puis M_train et M_test en min–max. Afficher les moyennes standardisées et les bornes min–max.
Saisie autonome · crédit complet après réussite
Le résultat apparaîtra ici.
Session Python
Les variables restent disponibles entre les pages. Un rechargement efface les variables ; le code et l’utilisation de l’aide restent enregistrés dans cet onglet.