Gérer les valeurs aberrantes
Dans le dernier exercice, vous avez vu qu’une visualisation des valeurs aberrantes peut être très utile lors d’un entretien Machine Learning. Une autre méthode pratique pour les traiter consiste à calculer le score Z, qui fixe un seuil pour les valeurs aberrantes à environ +/- 3 écarts types autour de la moyenne.
Dans cet exercice, vous allez utiliser le module scipy.stats pour calculer le score Z avec la fonction stats.zscore() et la fonction mstats.winsorize() pour remplacer les valeurs aberrantes grâce à une technique appelée Winsorization.
Rappelez-vous de la vidéo : les points au-dessus et/ou en dessous de 1,5 fois l’IQR doivent être suspectés comme valeurs aberrantes potentielles. Pour la dernière étape de cet exercice, cette valeur est 2120.
Les paquets nécessaires ont été importés pour vous, et les colonnes numériques et catégorielles de loan_data ont été sous‑sélectionnées et stockées sous numeric_cols et categoric_cols, respectivement.

Cet exercice fait partie du cours
S’entraîner aux questions d’entretien en Machine Learning avec Python
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
# Print: before dropping
print(numeric_cols.mean())
print(numeric_cols.median())
print(numeric_cols.max())
# Create index of rows to keep
idx = (np.____(stats.____(____)) < 3).all(axis=1)
# Concatenate numeric and categoric subsets
ld_out_drop = pd.concat([numeric_cols.loc[____], categoric_cols.loc[____]], axis=1)
# Print: after dropping
print(ld_out_drop.mean())
print(ld_out_drop.median())
print(ld_out_drop.max())