0Pricing
Learn AI with Python · Leçon

Détection et suppression des valeurs aberrantes

Méthodes du score Z et de l’IQR, concept de forêt d’isolation et gestion pratique des valeurs aberrantes.

Détection et suppression des valeurs aberrantes est une leçon Learn AI with Python gratuite sur CoddyKit. Ceci est la leçon 1 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Learn AI with Python, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Learn AI with Python comprend 4 leçons au total.

Qu'est-ce qu'une valeur aberrante ?

Une valeur aberrante est une valeur très éloignée du reste des données. Il peut s'agir d'une véritable valeur extrême, d'une erreur de saisie ou d'un dysfonctionnement du capteur. Les valeurs aberrantes peuvent fausser les moyennes, les variances et les modèles ; détectez-les donc délibérément.

La méthode du score z

Un score z mesure le nombre d'écarts types qui séparent une valeur de la moyenne : z = (x - mean) / std. Une règle courante signale comme valeur aberrante tout point vérifiant |z| > 3.

import numpy as np
data = np.array([10, 12, 11, 13, 12, 100])
z = (data - data.mean()) / data.std()
print(np.round(z, 2))

Signaler les valeurs aberrantes avec scipy zscore

scipy.stats.zscore calcule les scores z d'un tableau. Combinez-le avec un seuil pour créer un masque booléen des valeurs aberrantes.

from scipy import stats
z = np.abs(stats.zscore(data))
outliers = z > 3
print(data[outliers])

Limite du score z

Le score z utilise la moyenne et l'écart type, qui sont eux-mêmes attirés par les valeurs aberrantes. Avec des données fortement asymétriques ou des valeurs extrêmes, les scores z peuvent en détecter trop peu. La méthode IQR est plus robuste.

La méthode IQR

L'écart interquartile IQR = Q3 - Q1 couvre les 50 pour cent centraux. Il est calculé à partir des quartiles, que les valeurs aberrantes déplacent à peine, ce qui le rend robuste.

q1 = np.percentile(data, 25)
q3 = np.percentile(data, 75)
iqr = q3 - q1
print(q1, q3, iqr)

Bornes IQR

Les bornes de Tukey définissent les limites suivantes : inférieure = Q1 - 1.5*IQR, supérieure = Q3 + 1.5*IQR. Toute valeur située à l'extérieur est signalée. La même règle définit les moustaches d'un boxplot.

lower = q1 - 1.5 * iqr
upper = q3 + 1.5 * iqr
mask = (data < lower) | (data > upper)
print(data[mask])   # outliers

Visualisation par diagramme en boîte

Un boxplot illustre la règle IQR : la boîte va de Q1 à Q3, la ligne représente la médiane, les moustaches atteignent les bornes et les points situés au-delà sont représentés individuellement comme des points aberrants.

# import matplotlib.pyplot as plt
# plt.boxplot(data)
# plt.show()

Supprimer les valeurs aberrantes

Une fois les valeurs aberrantes signalées, vous pouvez SUPPRIMER les lignes correspondantes. Faites-le avec prudence : supprimer de vraies données peut fausser les résultats. Notez ce que vous avez supprimé et pourquoi.

clean = data[~mask]
print(clean)   # outlier removed

Winsoriser avec np.clip

Au lieu de les supprimer, la winsorisation plafonne les valeurs extrêmes à des limites choisies avec np.clip. Le nombre de lignes est ainsi conservé tout en limitant l'influence des valeurs extrêmes.

capped = np.clip(data, lower, upper)
print(capped)   # extreme value pulled to the upper fence

Limiter aux percentiles

Une méthode courante de winsorisation consiste à limiter les valeurs aux 1er et 99e percentiles, ce qui ne supprime que les 2 pour cent de valeurs les plus extrêmes, de manière symétrique.

lo, hi = np.percentile(data, [1, 99])
print(np.clip(data, lo, hi))

Supprimer ou plafonner ?

Décidez selon le contexte : SUPPRIMEZ les erreurs manifestes (valeurs impossibles), PLAFONNEZ les valeurs authentiques mais extrêmes que vous souhaitez conserver, et vous pouvez parfois CONSERVER les valeurs aberrantes lorsqu'elles constituent le signal recherché (détection de fraude). Documentez votre décision.

Vérification rapide

Vérifiez vos connaissances sur les valeurs aberrantes.

Récapitulatif

Boîte à outils de traitement des valeurs aberrantes :

  • Score z : signalez |z| > 3 avec scipy.stats.zscore (sensible aux valeurs aberrantes)
  • Bornes IQR : de Q1-1.5*IQR à Q3+1.5*IQR (robustes, à la base des diagrammes en boîte)
  • Supprimez les erreurs authentiques ; winsorisez avec np.clip pour plafonner les valeurs extrêmes
  • Documentez toujours pourquoi les valeurs ont été supprimées ou plafonnées

Questions Fréquemment Posées

La leçon « Détection et suppression des valeurs aberrantes » est-elle gratuite ?

Oui — le texte complet de « Détection et suppression des valeurs aberrantes » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Learn AI with Python, passe à CoddyKit PRO. Le cours Learn AI with Python comprend 4 leçons au total.

Qu'est-ce que j'apprendrai dans « Détection et suppression des valeurs aberrantes » ?

Méthodes du score Z et de l’IQR, concept de forêt d’isolation et gestion pratique des valeurs aberrantes. Tu pratiques Learn AI with Python avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.

Dois-je avoir de l'expérience pour commencer Learn AI with Python ?

Aucune expérience préalable n'est requise. Learn AI with Python sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 1 sur 4.

Combien de temps prend la leçon « Détection et suppression des valeurs aberrantes » ?

La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.

Peux-tu écrire et exécuter du code dans cette leçon Learn AI with Python ?

Oui. Chaque leçon Learn AI with Python inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.

Toutes les leçons de ce cours

  1. Détection et suppression des valeurs aberrantes
  2. Encodage des variables catégorielles
  3. Mise à l’échelle des caractéristiques : normalisation et standardisation
  4. Construire des pipelines de prétraitement
← Retour à Learn AI with Python