Technologies et protections 8 min de lecture

Normalisation des données : trois sens différents d'un même terme

Le terme « normalisation des données » a trois significations : bases relationnelles, machine learning et nettoyage de données scrapées — nous les passons en revue.

ÉW
Équipe Web-Scraping.fr
Collecte de données pour votre activité
Publié le: 8 février 2025

Pourquoi ce terme prête à confusion

« Normalisation des données » est l'un de ces termes qui désignent des choses complètement différentes selon la personne qui l'emploie. Un ingénieur bases de données, un data scientist et un spécialiste de la qualité des données, en disant « il faut normaliser les données », pensent à trois processus qui n'ont rien à voir entre eux. Avant d'agir, il est essentiel de comprendre duquel il s'agit.

Les trois significations principales :

  1. La normalisation des bases de données — la conception de la structure des tables de manière à éliminer la redondance et les anomalies. C'est la théorie classique des BD relationnelles et des « formes normales ».
  2. La normalisation (standardisation, canonisation) des données — la mise des valeurs à un format unique : dates, téléphones, adresses, casse, encodages. C'est un volet du nettoyage de données, directement lié à l'enrichissement et au rapprochement des enregistrements.
  3. La normalisation des variables en statistique et en ML — la mise des variables numériques à une échelle ou une distribution commune, pour que les algorithmes fonctionnent correctement.

Examinons les trois, l'une après l'autre.


Sens 1. La normalisation des bases de données

L'essentiel

La normalisation des bases de données est le processus de décomposition des tables en unités plus petites et logiquement liées, afin que chaque fait ne soit stocké qu'à un seul endroit. La théorie a été posée par Edgar Codd dans le cadre du modèle relationnel. L'objectif principal est d'éliminer la redondance et les anomalies qui en découlent.

Quels problèmes elle résout

Si les données sont stockées dans une seule table « à plat » avec des doublons, trois types d'anomalies apparaissent :

  • Anomalie d'insertion. Impossible d'ajouter un fait sans disposer des données associées. Par exemple, on ne peut pas créer un nouvel employé tant qu'il n'est pas rattaché à un projet, si ces entités sont dans la même table.
  • Anomalie de mise à jour. Un même fait est dupliqué dans plusieurs lignes — lors d'une modification, il faut corriger toutes les copies, et il est facile d'obtenir des incohérences.
  • Anomalie de suppression. En supprimant une ligne, on peut perdre par accident des données qui ne figuraient que là (par exemple, en supprimant le dernier projet d'un employé, on perd aussi l'employé lui-même).

Les formes normales

La normalisation procède par niveaux — les « formes normales ». Chaque niveau est plus strict que le précédent et en inclut les exigences.

Première forme normale (1NF). Toutes les valeurs sont atomiques : une cellule contient une seule valeur, sans listes ni groupes répétitifs. On ne peut pas stocker « téléphones : 111, 222, 333 » dans un seul champ ; chaque téléphone est un enregistrement distinct.

Deuxième forme normale (2NF). La table est en 1NF et ne contient aucune dépendance partielle : chaque attribut non clé dépend de l'intégralité de la clé primaire, et non d'une partie de celle-ci. C'est pertinent pour les clés composites. Si la clé est « (commande, produit) » et que le nom du produit ne dépend que de « produit », c'est une violation de la 2NF — le nom du produit doit être déplacé dans une table à part.

Troisième forme normale (3NF). La table est en 2NF et ne contient aucune dépendance transitive : les attributs non clés ne dépendent que de la clé, et non les uns des autres. Si la table des employés stocke « département » et « responsable du département », le responsable dépend du département, et non directement de l'employé — c'est une dépendance transitive : le département et ses attributs sont extraits dans une table séparée.

Forme normale de Boyce–Codd (BCNF). Une 3NF renforcée : chaque déterminant (ce dont quelque chose dépend) doit être une clé candidate. Elle règle les cas rares que la 3NF laisse passer en présence de plusieurs clés qui se chevauchent.

Quatrième (4NF) et cinquième (5NF) formes normales. Elles éliminent respectivement les dépendances multivaluées et les dépendances de jointure. En pratique, on y va rarement ; pour la plupart des systèmes, l'objectif visé est la 3NF ou la BCNF.

La dénormalisation — quand la normalisation devient un frein

La normalisation est optimisée pour l'intégrité et l'écriture, mais elle éclate les données en une multitude de tables, ce qui ralentit la lecture à cause de la profusion de jointures (JOIN). C'est pourquoi, dans les systèmes analytiques, on va souvent dans le sens inverse — on dénormalise, en introduisant délibérément de la redondance au profit de la vitesse de lecture.

Exemples typiques :

  • Entrepôts de données et OLAP. Les schémas « en étoile » et « en flocon » dupliquent volontairement les données dans les tables de dimensions.
  • Lecture à forte charge. Agrégats précalculés, vues matérialisées.
  • NoSQL. Les BD orientées documents stockent souvent les données liées ensemble, pour les lire en une seule requête.

La règle est simple : normalisez pour les systèmes transactionnels (OLTP), dénormalisez de manière délibérée pour les systèmes analytiques (OLAP) — et gardez toujours à l'esprit le prix (risque d'incohérence) que vous payez pour la vitesse.


Sens 2. La normalisation comme mise à un format unique (standardisation)

L'essentiel

C'est le sens que l'on rencontre le plus souvent dans les tâches de nettoyage et d'enrichissement de données. Ici, la normalisation consiste à ramener des valeurs de même signification à un format canonique unique. L'objectif : que des données identiques sur le fond aient une apparence identique, sans quoi il est impossible de les comparer, de les regrouper et de les rapprocher.

Cette normalisation est une étape obligatoire avant le rapprochement d'enregistrements (matching), la déduplication et l'enrichissement. On ne peut pas fusionner de manière fiable « SARL Marguerite » et « Marguerite, SARL » tant que les dénominations n'ont pas été ramenées à une forme commune.

Ce que l'on normalise habituellement

Dates et heures. Mise à un standard unique — généralement ISO 8601 (2026-06-29), fuseau horaire unique (souvent UTC), format unique. « 29.06.2026 », « June 29, 2026 » et « 2026/06/29 » doivent devenir une seule et même valeur.

Numéros de téléphone. Mise au format international E.164 (+995599123456) : supprimer les espaces, parenthèses, tirets, ajouter l'indicatif du pays.

Champs texte. Suppression des espaces superflus, casse uniforme, retrait des caractères invisibles, réduction des doubles espaces.

Encodages et Unicode. Conversion en UTF-8 et vers une forme unique de normalisation Unicode (NFC/NFD), pour que des caractères visuellement identiques soient stockés avec les mêmes octets. Sinon, « é » comme caractère unique et « é » comme « e + accent combinant » sont considérés comme des chaînes différentes.

Adresses. Standardisation en un format unique : développement des abréviations (« av. » → « avenue »), ordre des composants, normalisation des codes postaux. Souvent réalisée via des services de géocodage spécialisés.

Unités de mesure et devises. Conversion vers une unité de base (tout en mètres, tout en grammes, tout dans une même devise au taux du jour).

Valeurs catégorielles. Rattachement des synonymes et variantes d'écriture à une valeur de référence : « USA », « États-Unis », « United States » → un seul code pays. On appelle cela le mapping sur un référentiel (lookup/reference data).

Identifiants. Normalisation des numéros d'immatriculation, des domaines (minuscules, suppression de www), des e-mails (domaine en minuscules).

Le processus de standardisation

Pipeline typique :

  1. Profilage. Comprendre quels formats sont réellement présents dans les données et à quel point elles sont « sales ».
  2. Définition de la forme canonique. Décider vers quel format unique ramener chaque champ.
  3. Parsing et décomposition. Décomposer la valeur en composants (par exemple, une adresse en rue, numéro, ville).
  4. Transformation. Appliquer les règles de conversion vers la forme canonique.
  5. Mapping sur les référentiels. Rapprocher les valeurs des tables de référence (pays, devises, secteurs).
  6. Validation. Vérifier la validité du résultat (le téléphone contient le bon nombre de chiffres, la date existe).
  7. Journalisation. Enregistrer ce qui a été modifié et comment, pour la traçabilité.

Les outils

Une partie se fait avec des expressions régulières et des règles, une autre avec des bibliothèques spécialisées : il existe des bibliothèques d'analyse de numéros pour les téléphones, des géocodeurs pour les adresses, des fonctions de normalisation intégrées pour l'Unicode. Pour les gros volumes, on utilise des plateformes ETL/ELT et des outils de qualité des données.


Sens 3. La normalisation des variables en statistique et en machine learning

L'essentiel

En ML, la « normalisation » consiste à ramener les variables numériques à une échelle ou une distribution comparable. Le problème est que les variables s'expriment dans des unités et des plages différentes : l'âge (0–100) et le revenu (0–10 000 000). De nombreux algorithmes « privilégient » alors les variables à grandes valeurs simplement à cause de l'échelle, et non de leur importance.

Les principales méthodes

Normalisation min-max. Compresse linéairement les valeurs dans l'intervalle [0, 1] selon la formule (x − min) / (max − min). Elle conserve la forme de la distribution, mais est sensible aux valeurs aberrantes : un seul maximum extrême « écrasera » toutes les autres valeurs.

Standardisation (z-score). Ramène à une moyenne de 0 et un écart-type de 1 selon la formule (x − μ) / σ. Elle ne borne pas les valeurs dans un intervalle fixe et fonctionne mieux lorsque les données sont proches d'une distribution normale. C'est souvent elle qu'on appelle « normalisation », bien que techniquement il s'agisse d'une standardisation.

Mise à l'échelle robuste. Utilise la médiane et l'écart interquartile au lieu de la moyenne et de l'écart-type — résistante aux valeurs aberrantes.

Normalisation de vecteur (L2). Ramène le vecteur de variables à une longueur unitaire. Utilisée, par exemple, pour les vecteurs de texte et la similarité cosinus.

Transformation logarithmique. Pas une mise à l'échelle au sens strict, mais souvent utilisée pour « redresser » des distributions fortement asymétriques (revenus, tailles d'entreprises).

Quand c'est nécessaire, et quand ça ne l'est pas

Nécessaire pour les algorithmes sensibles à l'échelle et aux distances :

  • les méthodes basées sur les distances (kNN, k-means, SVM) ;
  • la descente de gradient (réseaux de neurones, modèles linéaires) — la normalisation accélère la convergence ;
  • les méthodes avec régularisation ;
  • la réduction de dimensionnalité (PCA).

Pas indispensable pour les modèles arborescents (arbres de décision, forêts aléatoires, gradient boosting) — ils travaillent avec des seuils sur chaque variable séparément, et une mise à l'échelle monotone n'a aucun effet sur eux.

Une règle pratique importante

Les paramètres de normalisation (min, max, μ, σ) se calculent uniquement sur le jeu d'entraînement, puis s'appliquent aux données de test et de production. Si on les calcule sur toutes les données à la fois, une « fuite » d'information du test vers l'entraînement se produit (data leakage), et l'évaluation de la qualité du modèle sera surestimée.


Comment ne pas confondre : petit guide de navigation

S'il est question de… …alors on parle de
Tables, clés, JOIN, redondance, anomalies Formes normales (Sens 1)
Formats de dates, téléphones, adresses, doublons, rapprochement Standardisation / canonisation (Sens 2)
Variables, échelle, entraînement du modèle, μ et σ Mise à l'échelle des variables (Sens 3)

Un moyen pratique de comprendre de quoi il s'agit : demander quel est l'objectif. L'intégrité et l'élimination des doublons dans le stockage — ce sont les formes normales. La possibilité de comparer et de fusionner des enregistrements — c'est la standardisation. Le bon fonctionnement de l'algorithme — c'est la mise à l'échelle des variables.


Le lien avec l'enrichissement de données

La normalisation au deuxième sens (standardisation) est le socle sans lequel l'enrichissement ne fonctionne pas. Pour trouver un enregistrement dans une source externe par une clé, la clé des deux côtés doit être ramenée à la même forme : domaines en minuscules, téléphones en E.164, dénominations d'entreprises sans variations dans les formes juridiques. C'est pourquoi, dans un pipeline de traitement de données réel, l'ordre est généralement le suivant : d'abord le profilage, puis la normalisation/standardisation, ensuite le rapprochement et la déduplication, et seulement après l'enrichissement par des données externes.

Conclusions en bref

« Normalisation des données » est un terme parapluie recouvrant trois tâches différentes :

  • Les formes normales mettent de l'ordre dans la structure d'une BD relationnelle en supprimant la redondance et les anomalies ; on les enfreint parfois délibérément (dénormalisation) au profit de la vitesse de lecture.
  • La standardisation ramène les valeurs à un format canonique unique — c'est la base du nettoyage, du rapprochement et de l'enrichissement de données.
  • La mise à l'échelle des variables prépare les données numériques pour les algorithmes de machine learning sensibles à l'échelle.

La compétence pratique essentielle : comprendre d'après le contexte quelle normalisation est requise, et ne pas appliquer la méthode d'un domaine là où c'est celle d'un autre qu'il faut.