Traitement des valeurs aberrantes
Dans le dernier exercice, vous avez vu que la visualisation des valeurs aberrantes peut être très utile lors d'une entrevue en Machine Learning. Une autre façon pratique de les gérer consiste à calculer le score Z, qui fixe un seuil pour les valeurs aberrantes à environ +/- 3 écarts-types de la moyenne.
Dans cet exercice, vous utiliserez le module scipy.stats pour calculer le score Z avec la fonction stats.zscore() et la fonction mstats.winsorize() pour remplacer les valeurs aberrantes à l'aide d'une technique appelée Winsorization.
Rappelez-vous, d'après la vidéo, que les points situés au-dessus et/ou au-dessous de 1,5 fois l'IQR doivent être considérés comme des valeurs potentiellement aberrantes. Pour la dernière étape de cet exercice, cette valeur est 2120.
Les modules nécessaires ont été importés pour vous, et les colonnes numériques et catégorielles de loan_data ont été isolées et enregistrées sous numeric_cols et categoric_cols, respectivement.

Cette activité fait partie du cours
S'exercer aux questions d'entrevue en Machine Learning avec Python
Exercice interactif pratique
Essayez cet exercice en complétant ce code d’exemple.
# 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())