Gains :
- Capacité à distinguer la cause des valeurs manquantes (aléatoire, systématique, significative), à choisir la stratégie appropriée et à calculer la valeur de remplissage à partir de la seule formation
- Possibilité d'examiner les valeurs aberrantes avant de les supprimer et de faire la distinction entre une erreur de données et un véritable événement rare
- Capacité à éviter la perte silencieuse en surveillant l'impact de chaque étape sur le nombre de lignes/blancs tout en ramenant les incohérences de type et de format à la norme
Environ 60 à 80 % du temps d'un data scientist est consacré au nettoyage ; Dans l'industrie, cela est appelé en plaisantant à moitié « data wrangling » (data wrangling ou data cleaning). Parce que les données du monde réel ne sont presque jamais prêtes à être analysées : les dates sont dans des formats mixtes, les nombres sont stockés sous forme de texte, certaines cellules sont vides, un client apparaît trois fois dans le même tableau avec deux orthographes différentes. Dans cette unité, nous aborderons trois aspects fondamentaux du nettoyage : les valeurs manquantes, les valeurs aberrantes et la conversion de type/format. L’intelligence artificielle est un assistant extraordinairement rapide dans ce travail ; Mais c'est vous qui décidez quoi nettoyer et comment, car chaque choix de nettoyage modifie l'analyse.
La règle d'or du ménage : chaque changement est une décision
Supprimer une cellule, remplir une valeur manquante avec la moyenne, supprimer une valeur aberrante : aucune de ces opérations n’est « neutre ». Chacun modifie les données et affecte le résultat. D'où la règle d'or du nettoyage : écrire chaque modification dans le code, noter la justification, ne jamais écraser les données d'origine. L'IA vous donne un code de nettoyage rapide, mais il est de votre responsabilité de comprendre ce que fait ce code ; Ne l'exécutez pas sans voir combien de lignes ont disparu lorsque vous dites "supprimer les lignes vides".
Attention : Ne modifiez jamais les données brutes d'origine. Écrivez la version nettoyée dans un fichier/table séparé. De cette façon, si vous repérez une erreur, vous pouvez revenir à la case départ et maintenir la reproductibilité.
Valeurs manquantes : pourquoi est-il vide, que faire
Une valeur manquante (apparaissant généralement sous la forme NaN — « Pas un nombre » dans les pandas) se produit lorsqu'une cellule est vide. Mais la cause de l’écart détermine la solution. Il existe trois situations typiques. Manque aléatoire : le capteur n'a pas fonctionné pendant un moment ; Il peut être raisonnable de le remplir. Absence systématique : un champ de formulaire n'est demandé que pour certains clients ; La lacune ici est en fait l’information. Manque important : si « date de retour » est vide, le client n'est pas revenu ; Cet espace signifie 0 ou "aucun", il n'est pas rempli.
Principales stratégies :
Stratégie
Quand est-ce approprié ?
risque
Supprimer la ligne
Le taux de disparition est très faible (<5 %) et aléatoire
Perte de données et de représentation
Supprimer une colonne
La majeure partie de la colonne est vide (>60 %)
perte d'informations
Remplissage moyen/médian
Numérique, manquant au hasard
Cela réduit la variance et fausse la distribution
Catégorie "inconnu"
Manque catégorique et systématique
Génère des catégories supplémentaires
Prédiction avec modèle
Colonne complexe et précieuse
Risque de fuite, complexité
Point critique : la valeur d'imputation doit être calculée uniquement à partir des données d'entraînement et la même valeur doit être appliquée aux données de test. Si vous incluez la moyenne des données de test, vous créez une fuite (Unité 10). La médiane (la valeur moyenne des données ordinales) est souvent préférée à la moyenne car elle est plus robuste aux valeurs aberrantes que la moyenne.
Valeurs aberrantes : erreur ou réalité ?
Une valeur aberrante peut être l'une des deux choses suivantes : une erreur de données (999 dans la colonne âge) ou un événement réel mais rare (une commande de 2 millions de dollars d'un client). Confondre les deux est désastreux : supprimez une vraie valeur aberrante et vous jetez une information importante ; Si vous lâchez une erreur, vos moyennes en souffriront. Il est donc nécessaire d’examiner d’abord la valeur aberrante, et non de la supprimer automatiquement.
Méthodes de détection courantes : méthode IQR (intervalle interquartile ; les valeurs qui sont plus de 1,5 fois la différence entre les quintiles 25 % et 75 % des données sont considérées comme des valeurs aberrantes) et le score z (le nombre d'écarts types par rapport à la moyenne qu'est une valeur ; généralement une valeur aberrante si elle est supérieure à 3). L'IA écrit le code de ces calculs en quelques secondes ; Mais avant de dire « supprimer », vérifiez quelles sont ces valeurs.
Conversion de type et de format : source d'erreur silencieuse
L’un des problèmes les plus problématiques est la confusion des types de données. Si une colonne « montant » est stockée sous forme de texte, vous ne pouvez pas en ajouter ; Le programme lit incorrectement un nombre au format turc tel que « 1 250,50 » au lieu de « mille deux cent cinquante ». Les dates ("01/03/2024" jour-mois ou mois-jour ?), les catégories ("Mâle"/"mâle"/"M" sont la même chose ?) et les unités (TL ou kuruş ?) produisent silencieusement des résultats incorrects. Une grande partie du nettoyage consiste à intégrer ces incohérences dans la norme : les dates dans un seul format, les catégories dans une seule orthographe, les nombres dans une seule unité.
trois mini-cases
Cas 1 — Le piège moyen. Une équipe a rempli les 320 valeurs manquantes dans la colonne revenus avec la moyenne (48 500 $). Mais les carences étaient systématiques : il s’agissait d’une tranche de revenus modestes qui n’avait jamais déclaré de revenus. Le remplissage moyen rendait ce groupe artificiellement riche et le modèle de crédit était erroné. Leçon : demandez « pourquoi est-il vide » avant de le remplir.
Cas 2 — Valeur aberrante qui ne doit pas être supprimée. Un analyste du commerce de détail a supprimé 4 commandes énormes (1,8 million de TL chacune) dans les données de ventes, pensant qu'il s'agissait d'"erreurs". Il s'agissait cependant de véritables commandes d'entreprise et représentaient 22 % du chiffre d'affaires total. Le modèle de prévision post-suppression a complètement manqué la demande institutionnelle. Leçon : examinez la valeur aberrante avant de la supprimer.
Cas 3 — Catastrophe du format de date. Dans un CSV, les dates ont été mélangées à la fois "2024-03-01" et "01.03.2024". Lorsque le code écrit par YZ a été analysé selon le premier format, 6 400 lignes sont devenues NaT comme « date invalide » et ont été silencieusement exclues de l'analyse. L’analyste ne l’a remarqué que lorsque le nombre de lignes a diminué. Leçon : vérifiez toujours le nombre de lignes et de blancs après la conversion.
Quatre modèles copiables
1) Carte des valeurs manquantes :
J'ai des pandas df. Écrivez du code qui produit un tableau indiquant le nombre et le pourcentage de manquants (NaN) pour chaque colonne. Ensuite, répertoriez séparément les colonnes avec un taux de manquant supérieur à 40 % et celles avec un taux de manquant inférieur à 5 %. Générez simplement ce code de diagnostic, pas la stratégie que vous suggérez ; Je prendrai la décision.
2) Inspection des valeurs aberrantes (pas de suppression) :
Écrivez du code qui DÉTECTE (et non supprime !) les valeurs aberrantes pour ma colonne « montant » en utilisant la méthode IQR. Placez les lignes éloignées dans un df séparé afin que je puisse les examiner manuellement. Imprimez également le nombre de valeurs aberrantes et leur part dans le total.
3) Normalisation type/format :
Écrivez du code qui standardise les colonnes suivantes :- "date" : peut être des formats mixtes ("2024-03-01" et "01.03.2024"); convertissez-les tous en datetime, comptez ceux intraduisibles et faites un rapport (jetez-les en silence). - "genre" : "Homme"/"mâle"/"M" -> "M", "Femme"/"femelle"/"F" -> "K". - "montant" : texte au format turc ("1.250,50") -> nombre décimal. Imprimez le nombre de lignes affectées après chaque conversion.
4) Vérifiez avant/après le nettoyage :
Écrivez du code qui compare df.shape, le nombre manquant et les statistiques récapitulatives (moyenne, médiane, min, max) des colonnes sélectionnées avant et après une étape de nettoyage. Objectif : voir ce que le nettoyage change.
Invite faible/Invite forte
Invite faible :
Effacez ces données.
« Clair » est ambigu ; L’IA ne sait pas quelles parties manquantes doivent être supprimées, quoi remplir, quelle colonne traiter et comment. Le résultat : des changements aveugles et irréversibles.
Invite puissante :
Votre rôle : assistant au nettoyage des données. Colonnes df : customer_id (int), Registration_date (texte au format mixte), revenue_tl (texte, "1 200,00"), ville (texte, orthographe incohérente). Règles : - Modification du df original ; Travaillez sur la copie nommée df_clean.- Convertissez revenue_tl en nombre, comptez ce qui ne peut pas être traduit.- Remplacez record_date par datetime, signalez l'erreur.- Ne supprimez aucune ligne sans mon approbation ; Montrez les candidats séparément. Après chaque étape, imprimez df_temiz.shape et le numéro manquant.
Ici la source est protégée, chaque transformation est comptée, la suppression est laissée à l'humain.
Erreurs courantes
- Combler les lacunes sans se demander « pourquoi est-il vide ? Le fait de combler les lacunes systématiques/significatives avec la moyenne fausse les données.
- Supprimer la valeur aberrante sans l'examiner. Ignorer des événements réels mais rares détruit des informations importantes.
- Calcul de la valeur de remplissage à partir de toutes les données. L'inclusion de données de test crée des fuites ; il suffit de calculer à partir de la formation.
- Ne pas vérifier le nombre de lignes/vides après la conversion. Les lignes qui sont silencieusement NaT/NaN sont exclues de l'analyse.
- Écraser les données originales. Le retour et la reproductibilité sont perdus.
Astuce : Exécutez le nettoyage avec une comparaison « avant-après ». Imprimez df.shape, le nombre manquant et les statistiques récapitulatives des colonnes critiques après chaque étape. Vous voyez donc immédiatement qu'une seule étape détruit de manière inattendue 6 000 lignes.
En résumé
Le nettoyage est la phase la plus longue et la plus décisionnelle de la science des données. Chaque changement modifie les données, chacun est donc une décision consciente. Pour les valeurs manquantes, demandez « pourquoi est-il vide ? » Examinez toutes les valeurs aberrantes avant de les supprimer ; Mettez le type et le format aux normes. Calculez la valeur de remplissage à partir des données d'entraînement uniquement, conservez l'original et suivez l'impact de chaque étape en la comptant. L’IA est un formidable accélérateur dans ce secteur, mais les humains décident de ce que vous nettoyez et pourquoi.
Tâche de candidature
Prenez (ou créez) un petit tableau et insérez-y délibérément trois problèmes : un tuple de valeurs manquantes, une valeur aberrante, un format de date mixte. Demander un code de diagnostic et de normalisation à AI avec les modèles ci-dessus ; comparez le nombre de lignes et de blancs avant/après chaque étape. Essayez d'attraper au moins une « perte silencieuse » et notez comment vous l'avez remarquée.
liste de contrôle
- [ ] Ai-je conservé les données brutes originales et travaillé sur la copie ?
- [ ] Ai-je posé la question « pourquoi est-il vide » pour chaque colonne manquante ?
- [ ] Ai-je examiné les valeurs aberrantes avant de les supprimer ?
- [ ] Ai-je calculé la valeur de remplissage à partir des données d'entraînement uniquement ?
- [ ] Est-ce que je vérifie le nombre de lignes/blancs après chaque étape et est-ce que j'élimine la perte silencieuse ?