KNN / 07 · EXERCICE
Maisons : avec et sans mise à l’échelle
Trois variantes KNN sont comparées sur exactement les mêmes cinq plis : données brutes, standardisation, min–max.
Le test final reste réservé. Les pipelines empêchent les informations de validation d’entrer dans la normalisation. Les calculs portent sur tout l’ensemble de développement ; la première exécution peut prendre un peu de temps.
Exemple expliqué
- 1
modeles = { "KNN brut": KNeighborsRegressor(n_neighbors=5), "KNN standard": make_pipeline(StandardScaler(), KNeighborsRegressor(n_neighbors=5)), "KNN min–max": make_pipeline(MinMaxScaler(), KNeighborsRegressor(n_neighbors=5)), }Même nombre de voisins et mêmes caractéristiques : seule la mise à l’échelle change.
- 2
scores = -cross_val_score(modele, X_dev, y_dev, cv=cv, scoring="neg_root_mean_squared_error", n_jobs=1)Le même objet cv, avec mélange et graine fixée, recrée les mêmes plis pour chaque variante.
- 3
resultats = pd.DataFrame(lignes).sort_values("RMSE moyenne")Une ligne par variante, classée par erreur croissante. Une baisse est une amélioration pour ce protocole, pas une garantie universelle.
- 4
resultats.round(0)Arrondi d’affichage pour lire les prix ; resultats conserve les valeurs non arrondies pour les calculs.
Code à compléter
Comparer les trois KNN avec les mêmes cinq plis ; construire resultats avec les colonnes modele, RMSE moyenne et Écart type puis afficher le tableau.
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.