# Étapes de prétraitement des données : comment nettoyer vos données d'entreprise

> Découvrez les étapes de prétraitement des données qui transforment des enregistrements métier désordonnés en analyses fiables, avec des exemples pour les PME. Voyez comment ELECTE les automatise.

Source: https://www.electe.net/fr/poste/data-preprocessing-steps

Site guide: https://www.electe.net/fr/llms.txt

Vous avez extrait un export de ventes qui semble terminé. Commandes, coûts et dates remplissent la feuille. Puis une prévision arrive sur le bureau du responsable financier, et le panier moyen a bondi, alors que rien n'a changé dans le catalogue.

Ce bond vient souvent d'une erreur de prétraitement, pas d'un changement dans les achats. Remplir les prix manquants alors que des factures en double sont encore dans le fichier, ou mettre à l'échelle tout l'extrait avant d'avoir mis des lignes de côté, apprend au modèle des faits qu'il ne devrait pas encore connaître. La plupart des articles présentent les **étapes de prétraitement des données** comme des techniques distinctes, applicables dans n'importe quel ordre. Or c'est l'ordre qui gonfle les résultats.

Voici la séquence que je recommande lorsqu'un analyste gère un fichier métier en production. Vous y trouverez un ordre d'exécution, des seuils que je considère comme des points de départ plutôt que des lois, et une méthode pour verrouiller chaque paramètre ajusté afin que le prochain chargement de données suive le même parcours.

## Sept étapes de prétraitement des données dans le bon ordre

Un export de ventes peut sembler complet tout en cachant des lignes de factures en double, des coûts unitaires vides et des dates stockées dans deux formats. Si vous traitez ces problèmes dans le mauvais ordre, chaque moyenne calculée ensuite les hérite.

**Toute étape qui apprend une valeur à partir des données doit s'exécuter après la séparation.** Une moyenne, une médiane ou une plage de mise à l'échelle calculée sur le fichier entier permet aux lignes de validation d'influencer l'entraînement. Le score paraît alors meilleur que ce que le modèle donnera sur les commandes du mois prochain.

ÉtapeCe que vous faitesPrêt quand1. Profiler et nettoyerVérifier le nombre de lignes, les types de données et les taux de valeurs nulles ; supprimer les doublons exacts ; standardiser les dates et les libellésTable de base propre, avec un seul libellé par catégorie2. Séparer les donnéesMélanger les lignes, puis les répartir entre un jeu d'entraînement et un jeu de validationLes deux jeux existent et aucun paramètre appris n'a encore été calculé3. Traiter les valeurs manquantesSupprimer les lignes, supprimer la variable, ou imputer en utilisant uniquement les données d'entraînementChaque champ est complet ou ses lacunes sont signalées4. Encoder et créer des variablesConvertir les catégories en nombres ; construire des ratios, des composantes temporelles et des moyennes mobilesUne table de variables prête pour le modèle, avec des colonnes documentées5. Traiter les valeurs aberrantesVérifier les valeurs extrêmes, puis les plafonner, les transformer ou les signalerLes valeurs extrêmes sont expliquées, pas devinées6. Mettre à l'échelle les variables numériquesAjuster un scaler sur les données d'entraînement et l'appliquer aux données de validationLes colonnes numériques se situent sur des plages comparables7. Verrouiller le pipelineEnregistrer chaque transformation ajustée pour que les nouvelles données suivent le même parcoursUne exécution reproductible, valable pour chaque nouveau chargement de données

Prenons un détaillant qui détient 12 000 lignes de commande, dont 900 lignes de factures en double. Si vous imputez les prix manquants avant de supprimer ces doublons, la même facture est comptée deux fois et la moyenne s'éloigne du tarif catalogue.

> **Règle pratique :** terminez la ligne en cours avant de calculer quoi que ce soit dont la ligne suivante a besoin.

Reportez les sept lignes sur le fichier que vous avez ouvert. La première ligne que vous n'avez pas terminée est la seule qui mérite votre attention aujourd'hui.

## Profiler et nettoyer les données d'entreprise brutes

Le profilage se fait en une heure, et un manager peut le terminer avant que quiconque n'ouvre un modèle. Gardez le fichier brut intact et consignez chaque modification dans un journal de nettoyage, pour qu'un responsable financier puisse voir pourquoi un total a bougé.

1. **Comptez les lignes et les colonnes, puis vérifiez le type de chacune.** Un coût stocké en texte ne s'additionne pas, et l'erreur ne se signale pas bruyamment. Convertissez-le avant de vous fier à un total.
2. **Calculez le taux de valeurs nulles sur chaque colonne.** Une colonne vide à plus de 30 % relève des règles sur les valeurs manquantes, pas d'un remplissage rapide. Je ne supprimerais une colonne qu'au-delà de 50 % de cases vides, et seulement si le champ n'est pas indispensable à la décision.
3. **Supprimez les doublons exacts, pas les quasi-doublons.** Faites la correspondance sur le numéro de facture, la date et le montant réunis. Une seconde commande avec un autre identifiant de ligne est une vraie vente. La supprimer parce que le client et le jour coïncident est l'erreur qui sous-estime le chiffre d'affaires.
4. **Normalisez les formats en une seule passe.** Un seul format de date, une seule devise par colonne, aucun espace parasite dans les codes. Des formats mélangés scindent un produit en deux séries et cassent toute jointure ultérieure.
5. **Uniformisez les libellés de catégories.** `UK`, `U.K.` et `United Kingdom` désignent un seul marché. Quatre orthographes d'une même gamme de produits dans un export e-commerce sur trois ans font les mêmes dégâts. Choisissez un libellé et faites correspondre les autres.

Imaginons que cet export enregistre aussi les dates de commande sous la forme `2024-03-01` une année et `01/03/2024` une autre. Tant que les deux ne suivent pas un même format, un graphique mensuel compte mars deux fois ou l'omet.

### Ce que protègent le journal et le filtrage des données personnelles

Le journal de nettoyage est un court tableau : colonne, règle, lignes modifiées, personne, date. Quand la finance demande pourquoi mars dernier a diminué, vous montrez la règle sur les doublons au lieu de reconstituer le fichier de mémoire.

Avant que le fichier n'atteigne une plateforme d'analyse, retirez les noms de clients, les e-mails et les informations de paiement. Vous n'en avez pas besoin pour prévoir la demande, et les laisser dans l'extraction crée un problème de confidentialité qu'aucun modèle ne peut réparer.

Si vous voulez un second avis sur ce que recouvre la « qualité » pour des extractions commerciales, les [analyses de Pipecorn sur la qualité des données de vente](https://pipecorn.com/blog/data-quality-standards) constituent une liste de contrôle utile pour les identifiants, l'exhaustivité et la cohérence. Servez-vous-en pour décider quelles colonnes méritent d'être conservées, puis revenez au filtre sur le taux de valeurs nulles ci-dessus.

## Séparer les données avant tout apprentissage

Cette séparation est une barrière. Rien de ce qui estime une statistique n'a sa place sur le fichier complet.

Pour la classification supervisée de texte, [le guide de classification de texte de Google](https://developers.google.com/machine-learning/guides/text-classification/step-3) recommande de mélanger les données avant la séparation, car conserver l'ordre d'origine peut biaiser les deux jeux. Après le mélange, une répartition classique place **80 %** des exemples dans l'entraînement et **20 %** dans la validation. Les mêmes transformations s'appliquent ensuite aux deux jeux, mais seulement après avoir été apprises sur les lignes d'entraînement.

### Pourquoi un fichier de ventes trié fausse les résultats

Les exports arrivent souvent triés par date, région ou client. Si vous séparez ce fichier de haut en bas, vous entraînez le modèle sur 2023 et le validez sur fin 2024. Le score suit alors le calendrier, un calendrier promotionnel ou la composition d'une seule région. Il ne vous dit pas si le modèle a compris les commandes.

Mélangez quand chaque ligne est un cas indépendant : une commande conclue, un compte perdu, un ticket classé. Ne mélangez pas quand la question est une prévision.

> Conservez l'ordre chronologique pour les prévisions. Entraînez sur les mois précédents et testez sur les mois suivants. Un mélange permettrait au modèle de voir le futur et de faire passer cela pour de la compétence.

### Les champs de texte demandent un seuil de fréquence

Les tickets de support et les descriptions de produits se décomposent en milliers de tokens. Dans ce même processus de Google, on écarte les tokens qui apparaissent moins de **deux** fois, on garde les **20 000** meilleures caractéristiques de tokens, puis on classe le reste avec un score d'importance fondé sur le test F. Un token qui n'apparaît qu'une fois est généralement une faute de frappe ou une référence isolée, pas un motif qui mérite une colonne.

Après la séparation, ajustez chaque correspondance uniquement sur les données d'entraînement, puis appliquez cette correspondance figée à la validation. Recalculer un vocabulaire ou une liste de catégories sur les lignes mises de côté est une autre façon de faire fuiter la réponse dans la préparation.

## Remplir les valeurs manquantes sans fausser les résultats

La fréquence à laquelle un champ est vide, et le fait que la décision ait besoin de ce champ, déterminent l'action à mener. Les seuils ci-dessous sont une règle empirique, pas une loi. Un modèle de risque réglementé peut refuser de supprimer des lignes qu'une prévision de vente au détail peut se permettre de perdre.

Part de valeurs manquantesImportance de la variableActionMoins de 5 %QuelconqueSupprimer ces lignes s'il reste assez de données5 % à 30 %FaibleSupprimer la variable5 % à 30 %ÉlevéeImputer à partir des seules lignes d'entraînementPlus de 30 %ÉlevéeImputer, ajouter une colonne indicatrice de valeur manquante et chercher pourquoi le champ est videPlus de 30 %FaibleSupprimer la variable

Quelques coûts vides dans un fichier de commandes par ailleurs complet : c'est la première ligne. Supprimer ces lignes fait moins de dégâts qu'inventer un prix. Un champ d'enquête rarement utilisé, dans la tranche intermédiaire, ne vaut pas qu'on le remplisse au jugé : la colonne disparaît. L'ancienneté, que vous utilisez pour le taux d'attrition, reste, et vous l'estimez.

[Les recommandations de Google sur la préparation des données pour le clustering](https://developers.google.com/machine-learning/clustering/prepare-data) citent trois options pratiques : supprimer les exemples contenant des valeurs manquantes, supprimer la variable, ou prédire les valeurs manquantes à partir d'autres données. Des lacunes rares peuvent justifier la suppression de lignes. Des lacunes fréquentes conduisent généralement à supprimer la variable ou à l'imputer.

### Prédire la valeur manquante plutôt que coller une constante

Pour un champ numérique, entraînez une régression sur les lignes où la valeur existe, puis estimez les valeurs vides. L'âge manquant d'un client, par exemple, peut être estimé à partir du revenu et de l'ancienneté plutôt que remplacé par une moyenne unique pour toute l'entreprise. Vous exploitez ainsi des relations auxquelles vous faites déjà confiance.

La valeur des commandes est asymétrique. Quelques gros tickets de vente en gros tirent la **moyenne** vers le haut : une imputation par la moyenne fait donc paraître les paniers ordinaires plus riches qu'ils ne le sont. La **médiane** reste proche de la commande typique et bouge moins quand une facture en gros arrive. Comparez les statistiques descriptives avant et après l'imputation. Un écart important signifie que la méthode réécrit l'activité au lieu de boucher un trou.

Pour les catégories, étiquetez la valeur vide `Unknown`. Le vide est souvent le signal : un paiement qui n'a jamais enregistré la région, ou un produit sans code fournisseur. En faire une vraie modalité conserve la ligne et montre au modèle que le champ était vide pour une raison.

Les valeurs vides fréquentes ne sont pas rares en exploitation. Une étude de 2025 sur des données incomplètes de consommation d'eau décrit un jeu de données de bâtiment de **33 888** relevés horaires, de février 2019 à décembre 2023, avec des valeurs manquantes sur **20 %** des heures, soit une tranche où la suppression systématique des lignes ferait perdre trop d'historique ([l'étude](https://arxiv.org/html/2506.08882v1)).

Ajustez l'imputeur sur les seules lignes d'entraînement. [Le guide d'ELECTE sur les données manquantes](https://www.electe.net/post/missing-data-imputation) détaille davantage les choix d'imputation si vous voulez un second regard sur la méthode, et non sur l'ordre.

## Encoder les catégories et construire des variables utiles

Deux tâches ici : transformer les libellés en nombres exploitables par le modèle, et créer des colonnes qui répondent à une question métier que les champs bruts ne couvrent pas.

### Encoder sans classement artificiel

L'**encodage one-hot** convient aux catégories à peu de valeurs, comme cinq régions commerciales. Chaque région devient sa propre colonne oui/non, et aucune région n'est « plus grande » qu'une autre.

L'**encodage ordinal** convient à un ordre réel, comme les tailles S, M et L. Les nombres correspondent à un classement que l'entreprise utilise déjà.

N'attribuez pas 1, 2, 3 à des noms sans ordre, comme le canal ou la ville. Le modèle traitera un code plus élevé comme « plus » de quelque chose. Ce faux classement se traduit plus tard par un coefficient assuré, mais faux. Quand un champ compte des centaines de modalités, le one-hot crée un tableau très large. Regroupez les modalités rares dans `Other` avant d'encoder, et apprenez ce regroupement sur les seules lignes d'entraînement.

### Des colonnes qui répondent à une question métier

Dressez une courte liste liée à une seule décision, et non un déversoir de tous les ratios imaginables.

- **Pourcentage de marge :** `(price − cost) / price` indique si une promotion couvre encore le coût, ce que le chiffre d'affaires seul ne permet pas de savoir.
- **Jours depuis le dernier achat :** une analyse du churn a besoin de la récence, pas d'une nouvelle copie de l'identifiant client.
- **Jour de la semaine et mois :** la planification de la demande s'intéresse aux pics du vendredi et aux mois saisonniers, cachés dans un horodatage complet.
- **Moyenne glissante sur 7 jours :** les unités vendues varient fortement d'un jour à l'autre. Une moyenne sur une semaine montre si la demande progresse.
- **Ratio stock/ventes :** un responsable des stocks repère une rupture en formation plus tôt qu'avec un simple stock disponible brut.

Je commencerais par dix à quinze variables liées à cette seule décision. Supprimez l'une des deux colonnes lorsque leur corrélation dépasse 0,95, car la seconde répète la première. Notez la signification métier à côté du nom de la colonne dans le dictionnaire de données. Une table d'encodage ou une moyenne glissante apprise sur l'ensemble du fichier, y compris les lignes que vous vouliez mettre de côté, reproduit la fuite de données que vous aviez déjà bloquée lors de la séparation.

## Mettre les nombres à l'échelle et maîtriser les valeurs aberrantes

Une valeur extrême n'est pas automatiquement une erreur. Une commande de 40 unités d'un compte B2B est une vraie vente. Signalez-la pour qu'elle ne domine pas une moyenne, et conservez-la dans l'historique. Un prix unitaire de 100 000 saisi à la place de 1 000 est une erreur de saisie. Corrigez le chiffre, ne le « traitez » pas comme de la demande.

### Vérifiez la valeur extrême avant de la supprimer

Deux contrôles fonctionnent bien ensemble. La règle de **1,5 × l'écart interquartile** repère les points éloignés du centre de la colonne. Un contrôle métier demande si la valeur peut exister : stock négatif, date dans la prochaine décennie, remise supérieure au prix de vente. Vérifiez d'abord. Ensuite, plafonnez aux 1er et 99e centiles, appliquez une transformation logarithmique au chiffre d'affaires asymétrique, ou ajoutez un indicateur et gardez la valeur brute pour le reporting.

> Une commande en gros que vous supprimez est un chiffre d'affaires que vous ne prévoirez plus jamais. Une faute de frappe que vous conservez devient un prix que le modèle croit acceptable pour les clients.

Relancez le résumé statistique après le plafonnement. Le centre de la colonne doit à peine bouger. Si la médiane fait un bond, le plafonnement en fait trop et il faut réexaminer les lignes sources.

### Quel outil de mise à l'échelle selon le profil

La mise à l'échelle évite qu'une colonne en grandes unités, comme le chiffre d'affaires annuel, écrase une colonne en petites unités, comme le nombre d'unités par commande. La [documentation de prétraitement de Scikit-learn](https://scikit-learn.org/stable/modules/preprocessing.html) indique que **StandardScaler** centre chaque variable sur la moyenne de l'ensemble d'entraînement et la met à l'échelle selon la variance, et que cela peut donner de mauvais résultats en présence de nombreuses valeurs aberrantes. **RobustScaler** est l'alternative directe, qui utilise des estimations du centre et de l'étendue plus résistantes.

Profil des donnéesScalerPourquoi il convientGlobalement symétrique, peu de valeurs extrêmesStandardScalerCentre sur la moyenne et met à l'échelle selon la varianceValeurs aberrantes marquées, comme des commandes en gros occasionnellesRobustScalerUtilise la médiane et l'écart interquartile, qui résistent aux extrêmesValeurs nécessitant une plage fixe, comme des notes de 1 à 5MinMaxScalerRamène les valeurs entre 0 et 1 sans changer leur distribution

Ajustez le scaler sur les données d’entraînement uniquement, puis appliquez ce même ajustement aux données de validation. Réajuster le scaler sur l’ensemble de validation laisse les valeurs extrêmes de ce jeu définir l’échelle. Pour approfondir la détection des valeurs extrêmes avant de choisir un traitement, consultez [le guide d’ELECTE sur les valeurs aberrantes](https://www.electe.net/post/outlier-statistica).

## Automatiser le pipeline et vérifier ses résultats

Un fichier nettoyé stocké dans un seul notebook peut dériver d'une exécution à l'autre. Un nouveau fichier peut recevoir une autre valeur d'imputation, un autre encodage des catégories ou une autre échelle, ce qui modifie un tableau de bord alors que l'activité sous-jacente n'a pas changé.

Un pipeline conserve ensemble l'imputeur, l'encodeur et le scaler ajustés, puis applique les mêmes transformations aux nouveaux fichiers. Ajustez ces étapes sur la partition d'entraînement uniquement. Appliquez les paramètres ajustés aux données de validation et de test sans les recalculer. [La note d'IBM sur la fuite de données](https://www.ibm.com/think/topics/data-leakage-machine-learning) explique pourquoi ajuster les étapes de prétraitement sur l'ensemble des données d'entraînement et de test peut faire fuiter des informations dans l'évaluation.

### Contrôles après chaque exécution

Une tâche réussie confirme seulement que le processus s'est exécuté. Vérifiez si le résultat correspond toujours à la source et aux règles que vous avez fixées :

- **Nombre de lignes :** rapprochez le fichier chargé de l'export, en tenant compte des doublons consignés.
- **Taux de valeurs nulles par colonne :** examinez toute hausse soudaine, qui peut signifier qu'un champ source n'arrive plus.
- **Plages de valeurs :** vérifiez que les prix, les quantités et les dates restent dans les limites acceptées.
- **Nouvelles catégories :** dirigez une région ou un SKU jamais vu vers une catégorie définie plutôt que de l'écarter sans prévenir.

Pour des [exemples pratiques de validation des données](https://www.electe.net/post/data-validation-techniques), voyez comment ces contrôles s’appliquent à des fichiers métier. Considérez les résultats automatisés comme des estimations et vérifiez manuellement les premiers cycles avant de les utiliser pour déclencher des alertes.

**ELECTE**, plateforme d'analyse de données propulsée par l'IA pour les entreprises en croissance, se connecte à un logiciel de comptabilité ou à un fichier importé, et réalise analyses de données et prévisions sans avoir besoin d'un analyste. Les clients gagnent plus de 10 heures par semaine grâce à l'automatisation de l'analyse financière. Cet appui repose sur des étapes ajustées que vous pouvez défendre lors d'une revue, plutôt que sur un recalcul à chaque import.

Cette semaine, passez un jeu de données au crible du tableau en sept lignes et notez quelles étapes restent manuelles. Automatisez une étape répétée, mais gardez sous contrôle les décisions qui relèvent du jugement, comme un doublon face à un vrai réassort ou une faute de frappe face à une commande en gros, jusqu'à ce que les règles soient stabilisées.

---

ELECTE se connecte à vos données comptables ou à un fichier importé, les prépare et les transforme en prévisions et en rapports que vous pouvez examiner avec votre équipe. Si vous voulez que ces étapes de prétraitement des données soient appliquées de la même façon à chaque chargement, rendez-vous sur [ELECTE](https://www.electe.net) et voyez comment la plateforme exécute ce parcours sur vos propres chiffres.
