PASCAL YIM / apprendreKNN et normalisation

KNN / 04 · EXERCICE

Écrire les transformations avec NumPy

Les paramètres sont calculés colonne par colonne avec axis=0, sur X_train uniquement.

EXPLICATION DU CODE

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. 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. 2
    sigma = np.where(sigma == 0, 1, sigma)
    Z_train = (X_train-mu)/sigma
    Z_test = (X_test-mu)/sigma

    Une colonne constante est protégée contre la division par zéro ; elle devient nulle sur l’entraînement.

  3. 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. 4
    M_train = (X_train-minimum)/etendue
    M_test = (X_test-minimum)/etendue

    La transformation du test ne recalcule ni minimum ni maximum.

Exemple de référence · La consultation conserve le crédit de l’exercice.
EXERCICE / PYTHON

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.

Parcours · chapitres

Voisins, scalers, pipelines et comparaison sur les maisons.

01 / Rappels de Python

02 / Classes et objets en Python

03 / Pandas et DataFrames

04 / Régression linéaire et métriques

05 / Régressions multiple et polynomiale

06 / Évaluer les modèles

07 / KNN et normalisation

Quiz de synthèse · 24 questions →Rejoindre une session →