Estrutura de um conjunto de dados

46 min
Bloc 1 — Le vocabulaire fondamental
Objectif
savoir décrire rigoureusement la structure d'un conjunto de dados, nommer ses deux dimensions, identifier l'unité d'analyse, distinguer le rôle fonctionnel de chaque colonne, classer chaque variable dans une typologie stable et conduire un protocole d'inspection initiale reproductible.
Durée estimée
35 minutes
Prérequis
chapitres 001 à 004
Quiz associés
005.1-quiz-jeu-de-donnees.md à 005.6-quiz-etudes-de-cas.md

1. Le conjunto de dados : définition et dimensions

1.1 Le problème du vocabulaire

Soit l'énoncé suivant, représentatif de la littérature appliquée :

« Le dataset comporte 10 000 instances décrites par 14 attributs, dont une variable réponse catégorielle. Chaque échantillon a été annoté manuellement. »

Traduction intégrale, sans perte d'information :

« Le tableau comporte 10 000 lignes et 14 colonnes. L'une des colonnes contient la valeur à prédire, et cette valeur est une catégorie. Cette colonne a été renseignée par des opérateurs humains. »

Les deux énoncés sont strictement équivalents. L'écart provient d'un héritage terminologique : le domaine agrège du vocabulaire issu de la statistique inférentielle, de l'informatique, des bases de dados relationnelles et de la traduction directe de l'anglais. Il en résulte plusieurs dénominations concurrentes pour un même objet.

Point de vigilance : l'ambiguïté n'est pas seulement lexicale. Le mot échantillon désigne deux objets différents selon la discipline (point 2.1) et le mot feature désigne tantôt une colonne quelconque, tantôt une colonne effectivement soumise au modelo (point 3.3). Ces deux confusions produisent des erreurs méthodologiques réelles.

1.2 Définition

DÉFINITION — conjunto de dados (dataset, conjunto de dados)

Définition rigoureuse

Collection structurée d'observations, chaque observação étant décrite par un ensemble commun de variables mesurées ou relevées selon un protocole homogène.

Trois éléments de cette définition sont contraignants : l'organisation en lignes et colonnes est explicite et stable ; toutes les observations sont décrites par les mêmes variables, ce qui autorise la comparaison terme à terme ; une même variable conserve la même signification et la même unité d'une observação à l'autre.

Forme canonique

Le conjunto de dados est représenté par une matrice rectangulaire dont chaque ligne correspond à une observação et chaque colonne à une variable. Cette forme est appelée dados tabulaires, ou tidy data dans la terminologie de Wickham (2014), qui en pose trois règles : une variable par colonne, une observação par ligne, une unité d'observação par table.

Traduction en langage courant

Un tableau dont chaque ligne décrit un cas observé et chaque colonne une information relevée sur ce cas, la même information pour tous les cas.

Point de vigilance

Un ensemble de fichiers hétérogènes n'est pas un conjunto de dados au sens ci-dessus. Il le devient après consolidation, laquelle constitue une étape d'ingénierie à part entière.

1.3 Les deux dimensions et leur notation

SymboleDésignationCe qu'il compteSynonymes rencontrés
nNombre d'observationsLes lignesTaille de l'échantillon, effectif, nombre d'instances, nombre d'exemples
pNombre de variablesLes colonnesNombre d'attributs, nombre de features, dimensionnalité
XMatrice des variables explicativesn lignes × p colonnesMatrice de conception, design matrix
yVecteur de la variável alvon valeursVecteur réponse, étiquettes, labels

Un jeu décrit par « n = 10 000, p = 14 » se lit : 10 000 observations décrites chacune par 14 variables.

Point de vigilance : aucune convention n'est universelle. La littérature statistique note le nombre de variables p (predictors), la littérature d'apprentissage automatique parfois d ou m. De même, p désigne selon les auteurs le nombre total de colonnes ou le seul nombre de variables explicatives. La levée d'ambiguïté se fait par l'explicitation, non par la convention.

DÉFINITION — Dimensionnalité

Définition rigoureuse

Nombre de variables décrivant chaque observação, c'est-à-dire dimension de l'espace vectoriel dans lequel chaque observação est représentée par un point.

Interprétation géométrique

Un jeu à p variables place chaque observação en un point d'un espace à p dimensions. Deux observations proches dans cet espace présentent des valeurs voisines sur l'ensemble des variables. La plupart des algorithmes exploitent cette structure, explicitement pour les méthodes fondées sur des distances, implicitement pour les méthodes partitionnant l'espace.

Conséquence méthodologique

Le volume de l'espace croît exponentiellement avec p. À n constant, augmenter p raréfie les observations et dégrade toute estimation locale. Ce phénomène est la malédiction de la dimension, traitée au chapitre 025.

Traduction en langage courant

Le nombre de colonnes décrivant chaque cas. Plus il est élevé, plus il faut de lignes pour que l'induction reste fondée.

1.4 Formes physiques d'un même objet logique

La structure logique — une matrice n × p — est indépendante du support de stockage. Les formats suivants encodent le même objet.

FormatNature techniqueTypage des colonnesVolumétrie adaptéeUsage caractéristique
CSVFichier texte à séparateurAucun : tout est chaîne, le type est inféré à la lectureJusqu'à quelques centaines de MoÉchange interapplicatif, export
Tableur (XLSX, ODS)Fichier binaire à feuillesPar cellule, hétérogène et non contraintQuelques dizaines de milliers de lignesSaisie et consultation métier
Table relationnelleTable SQL persistéeDéclaré et contraint par le schémaMillions à milliards de lignesSystème d'information de production
DataFrameStructure en mémoire (pandas, polars, R)Par colonne, homogène et expliciteLimitée par la mémoire disponibleAnalyse et modélisation
ParquetFichier binaire orienté colonnesDéclaré dans les métadonnéesTrès grande, avec compression et lecture partielleStockage analytique, chaînes de traitement

Point de vigilance sur le format CSV : l'absence de typage est la cause la plus fréquente de types mal inférés. Un identifiant à zéros initiaux (00742) est lu comme entier et perd ses zéros ; une décimale à séparateur virgule est lue comme texte ; une chaîne N/A empêche l'inférence numérique de toute la colonne. Ces défauts sont détectés par df.info() (point 5.3).

ANALOGIE — Le format et le contenu

Un même texte peut être imprimé, dactylographié, affiché ou dicté. Le support conditionne le coût de manipulation et les modes d'altération possibles, non le texte lui-même.

Un conjunto de dados se comporte de même : sa structure logique demeure une matrice n × p, que le support soit un fichier texte de 3 Ko ou une table distribuée de 400 Go. La conséquence pratique est qu'un changement de format ne résout jamais un problème de contenu : convertir en Parquet un CSV mal renseigné produit un Parquet mal renseigné.

1.5 Interprétation du volume

Le nombre d'observations n'a pas de signification dans l'absolu : il s'interprète relativement au nombre de variables et à la complexité du phénomène. Les ordres de grandeur suivants valent pour la modélisation tabulaire supervisée à p modéré, de l'ordre de dix à cinquante variables.

Volume (n)VerdictConséquence méthodologique
Moins de 100Insuffisant pour une induction fondéeStatistique descriptive et expertise métier. Toute estimation de performance est dominée par le bruit d'échantillonnage
100 à 1 000Exploitable sous conditions strictesModèles simples et régularisés, peu de variables. validação cruzada obligatoire, un test set isolé étant trop petit pour être informatif
1 000 à 100 000Domaine nominal du ML tabulaireSéparation train / validation / test praticable, méthodes d'ensemble pertinentes, optimisation d'hyperparamètres raisonnable
Plus de 100 000Volume confortableModèles à forte capacité envisageables. La contrainte se déplace du volume vers la qualité, la représentativité et le coût de calcul

Principe directeur : le rapport n / p importe davantage que n seul. Un jeu de 5 000 observations décrites par 8 variables est confortable ; le même volume décrit par 3 000 variables relève d'un régime de haute dimension.

Point de vigilance : en classificação, le volume déterminant n'est pas n mais l'effectif de la classe la moins représentée. Un jeu de 200 000 observations dont 60 sont positives constitue un problème à 60 observations utiles. Ce point est développé au chapitre 050.


2. L'observação : terminologie et unité d'analyse

2.1 Les dénominations concurrentes

DÉFINITION — observação

Définition rigoureuse

Unité élémentaire du conjunto de dados, correspondant à un individu statistique sur lequel l'ensemble des variables a été relevé. Une observação est matérialisée par une ligne de la matrice n × p.

Origine du terme

Statistique. Le mot individu y désigne l'unité observée, qu'il s'agisse d'une personne, d'un objet, d'un événement ou d'une période.

Traduction en langage courant

Un cas observé, décrit complètement.

Recommandation

C'est le terme le plus neutre et le plus précis des huit recensés au point 2.2. Il est retenu comme terme de référence dans ce cours.

DÉFINITION — Instance

Définition rigoureuse

Occurrence particulière décrite par le vecteur de ses valeurs d'attributs, dans la terminologie de l'apprentissage automatique et de la représentation des connaissances.

Origine du terme

Informatique, par analogie avec l'instanciation d'une classe : le schéma du jeu de dados joue le rôle de la classe, chaque ligne celui d'une instance.

Point de vigilance

Le terme est parfois employé au sens restrictif d'observação dépourvue d'étiquette, présentée au modelo en phase de previsão. Cet usage est minoritaire mais attesté.

DÉFINITION — Échantillon (sample) : un terme à double sens

Sens statistique — le sens historique

Sous-ensemble d'une population, sélectionné selon un plan de sondage, à partir duquel on infère des propriétés de la population entière. Un échantillon est ici un ensemble d'observations, de taille n.

« L'échantillon comporte 10 000 clients. »

Sens Machine Learning — le calque de l'anglais

Traduction directe de sample, employé dans les bibliothèques d'apprentissage pour désigner une seule ligne. La documentation de scikit-learn définit systématiquement X comme un tableau de forme (n_samples, n_features), où chaque sample est une observação individuelle.

« Le jeu comporte 10 000 échantillons. »

Conséquence

Le même mot désigne l'ensemble dans une phrase et l'élément dans l'autre. Le sens ne se déduit que du contexte, en particulier de l'accord en nombre.

Recommandation

En rédaction professionnelle, réserver échantillon au sens statistique et employer observação pour la ligne. En lecture, ne jamais présumer du sens.

DÉFINITION — Enregistrement (record)

Définition rigoureuse

Ensemble structuré de champs constituant une unité de stockage et d'accès dans un système de gestion de dados. Dans le modelo relationnel, un enregistrement correspond à un tuple d'une relation, c'est-à-dire à une ligne de table.

Traduction en langage courant

Une fiche : l'unité que le système lit, écrit ou supprime d'un seul tenant.

Point de vigilance

Un enregistrement au sens du système d'information ne coïncide pas nécessairement avec une observação au sens de la modélisation. Une table de transactions comporte un enregistrement par transaction ; si l'unité d'analyse retenue est le client, une observação agrège plusieurs enregistrements. Cette non-coïncidence est l'objet du point 2.3.

DÉFINITION — Point de dados (data point)

Définition rigoureuse

Représentation d'une observação comme point d'un espace à p dimensions, chaque coordonnée correspondant à la valeur d'une variable.

Origine du terme

Vocabulaire géométrique de l'apprentissage statistique, employé lorsque le raisonnement porte sur des distances, des voisinages ou des frontières de décision.

Point de vigilance

Dans un usage relâché, data point désigne parfois une valeur isolée, c'est-à-dire une cellule et non une ligne. Cet usage est impropre en contexte technique.

2.2 Tableau de traduction

TermeDiscipline d'origineCe qu'il désigneContexte d'emploi caractéristique
observaçãoStatistiqueUne ligneRédaction rigoureuse, articles méthodologiques
IndividuStatistiqueUne ligneStatistique descriptive, analyse de dados française
InstanceInformatique, IA symboliqueUne ligneLittérature d'apprentissage automatique
Échantillon, sampleAnglais, bibliothèques MLUne ligne (sens ML) ou un ensemble (sens statistique)Documentation scikit-learn, plan de sondage
Enregistrement, recordBases de dadosUne ligne de tableIngénierie des dados, SQL
Ligne, rowReprésentation tabulaireUne ligneManipulation de fichiers et de DataFrames
Exemple, exampleApprentissage superviséUne ligne étiquetéeDescription du jeu d'treinamento
Point de dados, data pointGéométrie de l'apprentissageUne ligne vue comme un pointRaisonnement sur distances et voisinages

Les huit termes désignent le même objet dans le contexte de ce cours. Leur coexistence est un fait de la littérature, non une distinction de fond. La seule ambiguïté véritable porte sur échantillon.

2.3 L'unité d'analyse

Le choix de ce qu'une ligne représente n'est pas une propriété donnée du jeu de dados : c'est une décision de modélisation, prise en amont, qui détermine la question à laquelle le modelo pourra répondre.

DÉFINITION — Unité d'analyse (unité statistique)

Définition rigoureuse

Entité de référence sur laquelle porte la mesure et à laquelle se rapporte l'inférence. Elle définit ce que compte n et détermine la portée des conclusions tirées du modelo.

Formulation opérationnelle

L'unité d'analyse répond à la question : sur quoi porte une previsão ? Le modelo produira une valeur par unité d'analyse, ni plus ni moins.

Traduction en langage courant

Ce qu'une ligne représente exactement.

Point de vigilance

L'unité d'analyse doit coïncider avec l'unité de décision métier. Un modelo dont l'unité d'analyse est la transaction ne répond pas directement à la question « ce client est-il à risque ». Une divergence impose une étape d'agrégation explicite, avec ses propres hypothèses.

Problème poséUne observação correspond àOrdre de grandeur de n
Prédire la résiliation d'un abonnementUn client, à une date d'observação donnéeNombre de clients actifs
Prédire le prix de vente d'un logementUne transaction immobilièreNombre de ventes historiques
Détecter une transaction frauduleuseUne transaction par carteNombre de transactions traitées
Prédire la défaillance d'un équipementUn équipement observé sur une fenêtre temporelleNombre d'équipements × nombre de fenêtres
Classer un courriel en indésirableUn messageNombre de messages du corpus
Estimer la demande d'un produitUn couple produit × jourNombre de produits × nombre de jours
Diagnostiquer une pathologie sur imagerieUn examen d'un patientNombre d'examens
Prédire le taux de conversion d'une campagneUne campagneNombre de campagnes menées

observação sur la dernière ligne : le nombre de campagnes menées par une entreprise se compte souvent en dizaines. L'unité d'analyse détermine donc directement le régime de volume du point 1.5, et par conséquent la faisabilité du projet. Passer de la campagne au contact individuel fait passer n de 40 à 400 000. Ce n'est pas la même étude.

PIÈGE — L'entité répétée sur plusieurs lignes

Situation

Un conjunto de dados de commandes présente une ligne par commande. Un même client ayant passé plusieurs commandes occupe plusieurs lignes.

commande_idclient_iddatemontantcanalretour_produit
CMD-1001C-0422025-01-1489,90web0
CMD-1002C-3172025-01-14240,00magasin0
CMD-1003C-0422025-02-0255,00web1
CMD-1004C-0422025-02-19132,40web1
CMD-1005C-9882025-02-2017,50web0
CMD-1006C-3172025-03-03310,00magasin0

Conséquence sur la séparation des dados

Une séparation aléatoire place, avec une probabilité élevée, certaines commandes de C-042 à l'treinamento et d'autres au test. Le modelo est alors évalué sur un client dont il a déjà appris les particularités : préférence de canal, panier moyen, propension au retour. La performance mesurée intègre une composante de mémorisation d'entités déjà vues et surestime la performance réelle sur des clients inconnus, seule pertinente si l'usage cible concerne de nouveaux clients.

Réponse méthodologique

La séparation doit être effectuée par groupe : toutes les lignes d'un même client sont affectées au même côté de la partition. Le mécanisme correspondant est GroupKFold, traité au chapitre 027, la variable de groupement étant ici client_id.

Point de vigilance

Cette contrainte donne à client_id un double statut : la colonne doit être exclue des variables explicatives (point 3.4) tout en étant conservée dans le conjunto de dados pour servir de clé de groupement. La supprimer trop tôt rend la séparation correcte impossible.

Cas apparentés

Patient avec plusieurs consultations, équipement avec plusieurs relevés, établissement avec plusieurs mois d'activité, image avec plusieurs annotateurs.

ANALOGIE — L'unité de comptage

Un responsable logistique annonce avoir traité 12 000 unités le mois dernier. L'information est inexploitable tant que l'unité n'est pas nommée : 12 000 articles, 12 000 colis, 12 000 palettes ou 12 000 commandes désignent des volumes d'activité séparés par plusieurs ordres de grandeur.

Annoncer « le conjunto de dados comporte 50 000 lignes » sans préciser ce qu'est une ligne relève de la même indétermination. La question « 50 000 quoi ? » est la première à poser, et sa réponse conditionne le volume réellement disponible, la stratégie de séparation et la portée des conclusions.

Question à instruire systématiquement, avant toute manipulation :

Que représente exactement une ligne de ce conjunto de dados, et une même entité du monde réel peut-elle y figurer plusieurs fois ?

La réponse conditionne le calcul de n effectif, la stratégie de séparation (chapitres 026 et 027), la présence éventuelle de fuite par entité (chapitre 028) et l'interprétation métier des prédictions.


3. La variable : terminologie et rôles fonctionnels

3.1 Les dénominations concurrentes

DÉFINITION — Variable

Définition rigoureuse

Grandeur susceptible de prendre des valeurs différentes selon l'observação considérée, constituant une dimension de description commune à l'ensemble des observations.

Origine du terme

Statistique. Le terme s'oppose à constante : une colonne dont toutes les valeurs sont identiques n'est pas une variable au sens plein.

Traduction en langage courant

Une colonne : une information relevée de la même manière sur tous les cas.

Point de vigilance

Une colonne de variância nulle est formellement une colonne mais n'a aucun pouvoir discriminant. Sa détection fait partie de l'inspection initiale.

DÉFINITION — Attribut, champ, dimension, caractéristique, feature

Attribut (attribute) — Informatique et fouille de dados. Propriété descriptive d'une instance. Terme dominant dans la littérature de data mining et dans les jeux de dados de référence académiques.

Champ (field) — Bases de dados. Composante nommée et typée d'un enregistrement. Le terme est indissociable de la notion de schéma : un champ possède un nom, un type déclaré et des contraintes d'intégrité.

Dimension — Géométrie de l'apprentissage. Axe de l'espace de représentation. Faux ami : en modélisation décisionnelle, une dimension désigne une table d'axes d'analyse, sens entièrement distinct.

Caractéristique — Traduction française normalisée de feature, retenue dans les publications francophones et par l'Office québécois de la langue française.

feature — Anglicisme dominant dans la pratique. Dans son usage strict, il désigne une variable effectivement soumise au modelo en entrée, après sélection et transformation. C'est cet usage strict qui est retenu ici.

Point de vigilance

Variable et colonne sont des termes descriptifs : ils qualifient ce qui est présent dans le fichier. feature est un terme fonctionnel : il qualifie un rôle attribué par le modélisateur. La confusion entre les deux est l'objet du point 3.3.

TermeDiscipline d'origineNuance propreRegistre
VariableStatistiqueNeutre, descriptifRédaction rigoureuse
AttributFouille de dados, IAPropriété d'une instanceLittérature académique
ChampBases de dadosComposante typée d'un schémaIngénierie des dados
ColonneReprésentation tabulairePurement structurelManipulation de fichiers
DimensionGéométrie, décisionnelAxe de l'espace de représentationRaisonnement géométrique
CaractéristiqueTerminologie normaliséeTraduction de featureDocumentation francophone
featureAnglicisme professionnelVariable soumise au modeloPratique courante
Prédicteur, régresseurStatistique inférentiellevariável explicativa d'un modeloÉconométrie, biostatistique

3.2 Les quatre rôles fonctionnels d'une colonne

RôleCritère d'identificationTraitementRenvoi
IdentifiantValeur unique ou quasi unique par entité, sans signification métier intrinsèqueExclure des variables explicatives, conserver pour la traçabilité et le groupementPoint 3.4, chapitre 027
variável explicativaDisponible et renseignée au moment où la previsão doit être produiteSoumettre au modelo, après codificação et transformationChapitres 006, 022, 024
variável alvoGrandeur que le modelo doit estimerIsoler dans y, ne jamais laisser dans XChapitre 006
Variable de fuiteRenseignée après ou du fait de l'événement à prédireExclure sans exceptionChapitre 028

3.3 Une colonne n'est pas nécessairement une variável explicativa

Un fichier de 14 colonnes ne fournit pas 14 variables explicatives. Il fournit 14 colonnes dont le rôle reste à déterminer, une par une. Sur un extrait de fichier d'attrition télécom :

ColonneRôleJustification
client_idIdentifiantDésigne l'entité, sans contenu explicatif
anciennete_moisvariável explicativaConnue avant l'événement, porteuse d'information
type_forfaitvariável explicativaConnue avant l'événement
nb_appels_supportvariável explicativaConnue avant l'événement
a_resilievariável alvoGrandeur à prédire
date_resiliationVariable de fuiteRenseignée seulement si la résiliation a eu lieu
motif_resiliationVariable de fuiteRecueilli lors de la résiliation
agent_retention_assigneVariable de fuiteAssigné en réaction à une résiliation annoncée

Sur huit colonnes, trois seulement sont des variables explicatives. Les trois colonnes de fuite produiraient, si elles étaient conservées, un modelo affichant une performance quasi parfaite en validation et sans aucune valeur em produção : elles encodent la réponse. Ce mécanisme est traité au chapitre 028.

Critère opératoire unique, applicable à toute colonne :

Cette valeur est-elle connue et renseignée à l'instant précis où le modelo doit produire sa previsão ?

Une réponse négative disqualifie la colonne, quelle que soit sa corrélation avec la cible. Une corrélation élevée est d'ailleurs le symptôme le plus fréquent de fuite, non une garantie de qualité.

3.4 Le cas de l'identifiant

DÉFINITION — Identifiant

Définition rigoureuse

Attribut dont la fonction est de désigner de manière univoque une entité au sein d'une collection, indépendamment des propriétés de cette entité. Dans le modelo relationnel, il correspond à une clé primaire.

Propriété caractéristique

La valeur d'un identifiant est arbitraire par construction. Elle résulte d'une convention d'attribution — séquence, horodatage, tirage aléatoire — et non d'une mesure du phénomène étudié.

Traduction en langage courant

Un numéro de dossier : il permet de retrouver le dossier, il ne dit rien sur son contenu.

Un identifiant doit être exclu des variables explicatives pour trois raisons qui se cumulent.

Absence de contenu informatif. La valeur ne mesure rien. Aucune régularité liant l'identifiant à la cible ne peut avoir de fondement causal.

Corrélation fallacieuse. L'attribution suit fréquemment un ordre chronologique : les identifiants faibles désignent les entités les plus anciennes. Un modelo détecte alors une relation statistiquement réelle entre l'identifiant et la cible, qui n'est qu'un reflet de l'ancienneté. La relation est captée par un intermédiaire arbitraire au lieu de l'être par la variable qui la porte véritablement.

Mémorisation. Un identifiant quasi unique permet à un modelo à forte capacité d'isoler chaque observação dans une feuille distincte. Le modelo mémorise le jeu d'treinamento au lieu d'induire une règle : c'est le sobreajuste, traité au chapitre 031.

NUANCE — L'identifiant porteur d'information légitime

Certains identifiants ne sont pas arbitraires : leur structure encode une information métier réelle.

IdentifiantInformation encodéeTraitement correct
NUM-2019-PAR-00471Année de création, agence d'origineExtraire annee_creation et agence
Numéro de série AX7-2021W34-0912Gamme, semaine de fabricationExtraire gamme et semaine_fabrication
Référence produit EL-TV-55-OLEDRayon, catégorie, formatExtraire rayon, categorie, taille
IBANPays, établissement bancaireExtraire pays et code_banque

Principe

L'information est extraite dans des variables explicites et typées ; l'identifiant brut est ensuite exclu.

Justification

L'information extraite est interprétable : une variable agence s'analyse, un fragment de chaîne ne s'analyse pas. Elle est robuste : un changement de format de numérotation invalide l'exploitation directe de l'identifiant, non la variable extraite. Elle est vérifiable : la règle d'extraction est explicite et auditable.

Point de vigilance

Conserver l'identifiant brut en plus des variables extraites réintroduit les trois risques ci-dessus. L'extraction remplace l'identifiant, elle ne s'y ajoute pas.


4. Typologie des variables

Le type d'une variable détermine les statistiques descriptives licites, les transformations applicables et l'codificação requis. Le classement de chaque colonne constitue un préalable à toute modélisation.

4.1 Variables numériques

DÉFINITION — Variable numérique continue

Définition rigoureuse

Variable quantitative pouvant prendre, au moins théoriquement, toute valeur d'un intervalle de l'ensemble des réels. Entre deux valeurs observées, il existe toujours une valeur intermédiaire admissible.

Test mental de reconnaissance

Une valeur intermédiaire entre deux valeurs observées a-t-elle un sens ? Entre 1,72 m et 1,73 m, la valeur 1,7248 m est admissible : la variable est continue.

Exemples

Prix, salaire, température, poids, taille, durée, distance, concentration.

Conséquence sur le traitement

Utilisable directement par la plupart des algorithmes. Sensible à l'échelle pour les méthodes fondées sur des distances ou sur une descente de gradient, ce qui impose une normalização ou une padronização (chapitre 023). Les méthodes à base d'arbres y sont insensibles.

Point de vigilance

La mesure est toujours arrondie à la precisão de l'instrument. La continuité est une propriété du phénomène, non du relevé.

DÉFINITION — Variable numérique discrète

Définition rigoureuse

Variable quantitative dont l'ensemble des valeurs admissibles est dénombrable, généralement issue d'un comptage.

Test mental de reconnaissance

La valeur résulte-t-elle d'un comptage, les valeurs intermédiaires étant dépourvues de sens ? Un logement de 2,5 chambres n'existe pas.

Exemples

Nombre de chambres, d'enfants, de commandes, d'appels au support, de sinistres.

Conséquence sur le traitement

Traitée comme numérique dans la grande majorité des cas. Une variable de comptage à très faible cardinalité peut également être traitée comme ordinale ; le choix relève de l'expérimentation.

Point de vigilance

Les variables de comptage présentent fréquemment une distribution fortement asymétrique avec une masse en zéro. Une transformation log(1 + x) est souvent bénéfique pour les modèles linéaires.

4.2 Variables catégorielles

DÉFINITION — Variable catégorielle nominale

Définition rigoureuse

Variable qualitative dont les modalités constituent des classes exhaustives et mutuellement exclusives, sans relation d'ordre entre elles.

Test mental de reconnaissance

Un classement des modalités de la plus faible à la plus élevée a-t-il un sens ? Si la réponse est négative, la variable est nominale : Paris n'est ni supérieur ni inférieur à Lyon.

Exemples

Ville, pays, marque, couleur, secteur d'activité, type de contrat, canal d'acquisition, groupe sanguin.

Conséquence sur le traitement

codificação obligatoire avant soumission à un algoritmo. L'codificação one-hot est la référence pour les modèles linéaires ; il est coûteux à cardinalité élevée. L'codificação ordinal est proscrit, car il introduit un ordre inexistant (chapitre 022).

Point de vigilance

La cardinalité est le facteur déterminant. Une variable à cinq modalités et une variable à quinze mille modalités appellent des traitements distincts.

DÉFINITION — Variable catégorielle ordinale

Définition rigoureuse

Variable qualitative dont les modalités sont munies d'une relation d'ordre total, sans que l'écart entre modalités consécutives soit quantifiable ni supposé constant.

Test mental de reconnaissance

Le classement a-t-il un sens, alors que la différence entre deux niveaux consécutifs n'est pas mesurable ? « Insatisfait < Neutre < Satisfait » se classe, mais les deux écarts ne sont pas comparables numériquement.

Exemples

Niveau de satisfaction, niveau de diplôme, classe énergétique, gamme de produit, stade d'une pathologie, note d'une agence de notation.

Conséquence sur le traitement

codificação ordinal respectant l'ordre métier, la correspondance modalité-valeur étant définie explicitement et jamais déduite de l'ordre alphabétique.

Point de vigilance

Le calcul d'une moyenne sur un codificação ordinal suppose l'équidistance des niveaux, hypothèse que la définition même de l'ordinalité exclut. Une moyenne de satisfaction de 2,7 est une commodité de gestion, non une grandeur statistique fondée.

DÉFINITION — Variable binaire (dichotomique)

Définition rigoureuse

Variable catégorielle à exactement deux modalités. Elle est nominale ou ordinale selon le domaine, la distinction étant sans effet pratique à deux modalités.

Test mental de reconnaissance

La variable admet-elle exactement deux valeurs possibles, valores faltantes exclues ?

Exemples

Client actif, souscription à une option, présence d'un ascenseur, résultat d'un test.

Conséquence sur le traitement

codificação direct en 0 / 1, sans codificação one-hot. La convention retenue doit être documentée : 1 désigne conventionnellement la modalité d'intérêt.

Point de vigilance

Lorsqu'une variable binaire est la cible d'une classificação, le codage de la classe positive détermine l'interprétation de toutes les métriques asymétriques — precisão, recall, PR-AUC. Une inversion de convention invalide la lecture des résultats (chapitres 053 et 064).

4.3 Variables exigeant une transformation préalable

DÉFINITION — Variable temporelle

Définition rigoureuse

Variable dont les valeurs désignent des instants ou des intervalles sur un axe chronologique, muni d'une relation d'ordre et d'une métrique de différence.

Test mental de reconnaissance

La valeur désigne-t-elle un instant, et la différence entre deux valeurs a-t-elle un sens en unités de temps ?

Exemples

Date de souscription, horodatage de transaction, date de naissance, date de dernière connexion.

Conséquence sur le traitement

Inexploitable telle quelle. Deux familles de transformations sont mobilisées : la décomposition en composantes calendaires (année, mois, jour de la semaine, heure, indicateur de week-end ou de jour férié) et la conversion en durée relative à un point de référence (ancienneté en jours, délai depuis le dernier événement, temps restant avant échéance). Ces constructions relèvent de l'ingénierie des variables (chapitre 024).

Point de vigilance

La présence d'une variable temporelle signale une possible dépendance chronologique. Si le modelo est destiné à prédire l'avenir à partir du passé, la séparation train / test doit être chronologique et non aléatoire (chapitre 027). Un modelo entraîné sur des dados postérieures à celles du test est validé dans des conditions impossibles em produção.

DÉFINITION — Variable textuelle

Définition rigoureuse

Variable dont les valeurs sont des chaînes de caractères en langue naturelle, de longueur variable et de structure non contrainte.

Test mental de reconnaissance

Le contenu est-il rédigé librement, sans ensemble fini de modalités ? Un commentaire client est textuel ; un code pays à trois lettres est catégoriel bien qu'également stocké comme chaîne.

Exemples

Commentaire d'évaluation, description d'annonce, objet d'un courriel, verbatim d'enquête, motif de réclamation saisi librement.

Conséquence sur le traitement

Vectorisation obligatoire : comptage d'occurrences, pondération TF-IDF, ou représentation vectorielle dense. Le chapitre 042 aborde le classement de texte par méthodes bayésiennes ; le traitement approfondi du langage naturel sort du périmètre de ce cours.

Point de vigilance

Une colonne textuelle à faible cardinalité est en réalité une variable catégorielle mal typée. Le critère de distinction est le nombre de valeurs distinctes rapporté au nombre d'observations : df["colonne"].nunique().

4.4 L'échelle de mesure de Stevens

La typologie précédente est opérationnelle. Elle repose sur un cadre théorique proposé par le psychophysicien S. S. Stevens en 1946, qui classe les échelles de mesure selon les opérations mathématiques qu'elles autorisent.

DÉFINITION — Les quatre échelles de mesure (Stevens, 1946)

Échelle nominale — Les valeurs ne sont que des étiquettes. Seule l'égalité est définie ; aucune opération arithmétique n'a de sens. Tendance centrale licite : le mode.

Échelle ordinale — Les valeurs sont ordonnées, mais les écarts ne sont pas interprétables. Égalité et comparaison sont définies. Indicateurs licites : mode, médiane, quantiles.

Échelle d'intervalle — Les écarts sont interprétables et constants, mais le zéro est conventionnel. La différence a un sens, le rapport n'en a pas. Exemple canonique : la température en degrés Celsius, 20 °C n'étant pas deux fois plus chaud que 10 °C. Indicateurs licites : mode, médiane, moyenne, écart-type.

Échelle de rapport — Le zéro est absolu et signifie l'absence de la grandeur. Différences et rapports sont tous deux interprétables : 40 € est effectivement le double de 20 €. Toutes les opérations sont licites, y compris la moyenne géométrique et le coefficient de variation.

Portée du cadre

La classificação de Stevens fournit le critère rigoureux de licéité des statistiques. La typologie opérationnelle du point 4 lui correspond, l'intervalle et le rapport étant regroupés sous l'appellation numérique car les algorithmes usuels ne les distinguent pas.

Point de vigilance

Ce cadre a fait l'objet de critiques, notamment de Velleman et Wilkinson (1993), qui contestent son application mécanique à l'interdiction de certaines analyses. Il demeure la référence pédagogique et le meilleur garde-fou disponible contre les calculs dépourvus de sens.

ÉchelleRelations définiesZéroStatistiques licitesExemple
NominaleÉgalitéSans objetMode, effectifs, khi-deuxVille, marque
OrdinaleÉgalité, ordreSans objetMode, médiane, quantiles, corrélation de rangclasse énergétique
IntervalleÉgalité, ordre, différenceConventionnelMoyenne, écart-type, corrélation linéaireTempérature Celsius, année
RapportÉgalité, ordre, différence, rapportAbsoluToutes, y compris moyenne géométriquePrix, poids, durée

4.5 Les faux amis : numériques en apparence, catégoriels en nature

Une colonne stockée comme entier n'est pas nécessairement une variable numérique. Le critère décisif n'est pas le type de stockage mais la nature de la grandeur : les opérations arithmétiques ont-elles un sens métier ?

ColonneType de stockageNature réelleTest de disqualification
Code postalEntierCatégorielle nominaleLa moyenne de deux codes postaux ne désigne aucune commune
Code région, code départementEntierCatégorielle nominaleLe numéro ordonne alphabétiquement, non géographiquement
Code produit, code magasinEntierCatégorielle nominaleAucune relation d'ordre métier entre deux codes
Numéro de trimestre (1 à 4)EntierOrdinale cycliqueLe trimestre 4 précède le trimestre 1 de l'année suivante
Note d'évaluation (1 à 5)EntierOrdinaleL'écart entre 1 et 2 n'égale pas celui entre 4 et 5
Identifiant client numériqueEntierIdentifiantAucune signification métier (point 3.4)
Code NAF, code CSPChaîne ou entierNominale hiérarchiqueNomenclature à niveaux, à exploiter par niveau
Année de constructionEntierNumérique d'intervalleCas inverse : la différence a un sens, le rapport non

Conséquence d'une erreur de classement. Traiter un code postal comme numérique conduit un árvore de decisão à produire des partitions du type « code postal inférieur à 44300 », qui regroupent des communes sans aucune proximité géographique ni socio-économique : le modèle apprend la structure arbitraire de la nomenclature. Un modèle linéaire postule pour sa part une relation monotone entre le numéro de commune et la cible, hypothèse dépourvue de fondement.

Point de vigilance : la transformation correcte d'un code postal ne consiste pas nécessairement en un codificação one-hot de plusieurs milliers de modalités. Les approches usuelles sont l'agrégation à un niveau supérieur (département, aire urbaine), la jointure de variables socio-économiques territoriales, ou l'codificação par la cible avec les précautions d'usage contre la fuite (chapitres 022 et 028).

4.6 Tableau récapitulatif des types

TypeTest mentalExemplescodificação requisRenvoi
Numérique continueUne valeur intermédiaire a-t-elle un sens ?Prix, salaire, température, duréeAucun ; normalização selon l'algoritmoChapitre 023
Numérique discrèteEst-ce un comptage ?Nombre de pièces, nombre d'appelsAucun ; transformation log si asymétrie forteChapitre 024
Catégorielle nominaleUn classement des modalités a-t-il un sens ? NonVille, marque, secteurOne-hot ; codificação par la cible à cardinalité élevéeChapitre 022
Catégorielle ordinaleUn classement a-t-il un sens, sans écart mesurable ?Satisfaction, diplôme, classe énergétiqueOrdinal, avec correspondance expliciteChapitre 022
BinaireExactement deux modalités ?Oui / non, actif / inactif0 / 1, convention documentéeChapitre 022
TemporelleDésigne-t-elle un instant ?Date, horodatageDécomposition calendaire et durées relativesChapitres 024 et 027
TextuelleContenu rédigé librement ?Commentaire, descriptionVectorisation : comptage, TF-IDF, plongementChapitre 042

5. Protocole d'inspection initiale

Six opérations sont conduites systématiquement, dans cet ordre. L'ordre n'est pas indifférent : les dimensions conditionnent la lecture des types, les types conditionnent la lecture des statistiques, et la distribution de la cible conditionne le choix des métriques.

Les sorties ci-dessous portent sur un conjunto de dados d'attrition télécom comportant 10 000 observations et 14 colonnes.

5.1 Les dimensions

python
import pandas as pd

df = pd.read_csv("attrition_telecom.csv")
print(df.shape)
(10000, 14)

Interprétation : 10 000 observations, 14 colonnes. Le régime de volume est nominal au sens du point 1.5, avec un rapport n / p favorable. Ce chiffre reste à requalifier après deux vérifications : le nombre d'observations réellement distinctes (point 5.6) et l'effectif de la classe minoritaire (point 5.5).

5.2 Les premières lignes

python
pd.set_option("display.max_columns", None)
print(df.head())
  client_id  age region  anciennete_mois type_forfait engagement  \
0   C-00001   34    IDF                8       Mobile   Sans_eng
1   C-00002   67   PACA               45        Fibre    24_mois
2   C-00003   29    ARA                2       Mobile   Sans_eng
3   C-00004   52    IDF               61     Fibre+TV    24_mois
4   C-00005   41    OCC               17        Fibre    12_mois

  facture_mensuelle  data_go_moyen  nb_appels_support  satisfaction  \
0             29,90            8.4                  0           4.0
1             64,90            2.1                  3           2.0
2             19,90           14.7                  1           NaN
3             89,90           31.5                  0           5.0
4             49,90            6.8                  7           1.0

   revenu_estime mode_paiement date_souscription  a_resilie
0         1850.0   Prelevement        2024-06-12          0
1         3120.0   Prelevement        2021-09-03          0
2            NaN         Carte        2024-12-20          1
3         4470.0   Prelevement        2020-02-28          0
4         2260.0      Virement        2024-01-15          1

Interprétation : la lecture valide la structure et révèle deux anomalies de format. La colonne facture_mensuelle utilise la virgule comme séparateur décimal, ce qui empêche l'inférence numérique. La colonne date_souscription reste une chaîne de caractères tant qu'aucune conversion n'est demandée.

Point de vigilance : df.head() affiche les cinq premières lignes du fichier, qui ne constituent pas un échantillon aléatoire. Si le fichier est trié par date ou par région, ces lignes ne sont pas représentatives. df.sample(5, random_state=0) complète utilement l'inspection.

5.3 Le schéma, les types et la complétude

python
df.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 10000 entries, 0 to 9999
Data columns (total 14 columns):
 #   Column             Non-Null Count  Dtype
---  ------             --------------  -----
 0   client_id          10000 non-null  object
 1   age                10000 non-null  int64
 2   region             10000 non-null  object
 3   anciennete_mois    10000 non-null  int64
 4   type_forfait       10000 non-null  object
 5   engagement          9964 non-null  object
 6   facture_mensuelle  10000 non-null  object
 7   data_go_moyen       8791 non-null  float64
 8   nb_appels_support  10000 non-null  int64
 9   satisfaction        7412 non-null  float64
 10  revenu_estime       9503 non-null  float64
 11  mode_paiement      10000 non-null  object
 12  date_souscription  10000 non-null  object
 13  a_resilie          10000 non-null  int64
dtypes: float64(3), int64(4), object(7)
memory usage: 1.1+ MB

Première lecture — la complétude. Toute valeur de Non-Null Count inférieure à 10 000 signale des valores faltantes : engagement (36), data_go_moyen (1 209), satisfaction (2 588), revenu_estime (497). L'ampleur détermine la stratégie : une colonne à 26 % de manquants ne se traite pas comme une colonne à 0,4 % (chapitre 018).

Seconde lecture — les types. Le type object signale une colonne stockée comme chaîne de caractères. Trois cas se distinguent.

ColonneType inféréType attenduDiagnostic
client_id, region, type_forfait, engagement, mode_paiementobjectobjectCorrect : identifiant et variables catégorielles
facture_mensuelleobjectfloat64Type mal inféré : séparateur décimal virgule
date_souscriptionobjectdatetime64Type mal inféré : conversion non demandée

Point de vigilance : un type mal inféré exclut silencieusement la colonne des statistiques descriptives et des traitements numériques. La colonne facture_mensuelle, pourtant l'une des plus explicatives d'un phénomène d'attrition, n'apparaîtra pas dans df.describe() et serait traitée comme une variable catégorielle à plusieurs centaines de modalités par un codificação automatique. Les causes usuelles sont le séparateur décimal, les espaces de milliers, les symboles d'unité et les chaînes N/A, - ou inconnu.

python
df["facture_mensuelle"] = (
    df["facture_mensuelle"].str.replace(",", ".", regex=False).astype(float)
)
df["date_souscription"] = pd.to_datetime(df["date_souscription"])

5.4 Les statistiques descriptives

python
print(df.describe().round(2))
            age  anciennete_mois  data_go_moyen  nb_appels_support  \
count  10000.00         10000.00        8791.00           10000.00
mean      46.31            32.47          12.84               1.72
std       16.42            24.56           9.77               2.14
min       18.00             1.00           0.00               0.00
25%       33.00             9.00           5.60               0.00
50%       45.00            29.00          10.90               1.00
75%       58.00            55.00          18.20               3.00
max      142.00            72.00          94.30              21.00

       satisfaction  revenu_estime  a_resilie
count       7412.00        9503.00   10000.00
mean           3.41        2841.66       0.27
std            1.18        1420.33       0.44
min            1.00       -5000.00       0.00
25%            3.00        1950.00       0.00
50%            4.00        2680.00       0.00
75%            4.00        3520.00       1.00
max            5.00       18400.00       1.00

Objet de cette opération : détecter les valeurs impossibles, c'est-à-dire situées hors du domaine de définition métier de la variable. Ce ne sont pas des valeurs extrêmes mais des erreurs.

ConstatValeurDiagnostic
age maximum142Hors domaine : erreur de saisie, valeur sentinelle, ou date de naissance mal renseignée
revenu_estime minimum−5 000Hors domaine : erreur de signe, ou code sentinelle détourné
data_go_moyen maximum94,3Extrême mais plausible : valeur atypique légitime, à examiner (chapitre 021)
satisfaction count7 412Complétude partielle : 26 % de manquants
a_resilie mean0,27La moyenne d'une variable binaire est la proportion de la classe positive

Point de vigilance sur les valeurs sentinelles. Les valeurs -1, 999, 9999, -9999, 0 sur une variable strictement positive et les dates du 1er janvier 1900 sont des codes conventionnels signalant l'absence d'information dans de nombreux systèmes hérités. Traitées comme des valeurs réelles, elles déforment les moyennes et créent des relations artificielles.

Point de vigilance sur la portée. df.describe() ne couvre par défaut que les colonnes numériques. L'examen des colonnes catégorielles exige df.describe(include="object"), qui restitue effectif, cardinalité et modalité la plus fréquente. Une cardinalité anormalement élevée y révèle un identifiant non déclaré comme tel, ou une variable textuelle mal classée.

5.5 La distribution de la variável alvo

Il s'agit de la vérification au meilleur rapport entre coût et information. Elle exige une ligne de code et détermine le type de problème, le choix des métriques, la stratégie de séparation et le modelo de référence.

python
print(df["a_resilie"].value_counts(normalize=True).round(4))
print(df["a_resilie"].value_counts())
a_resilie
0    0.7347
1    0.2653
Name: proportion, dtype: float64

a_resilie
0    7347
1    2653
Name: count, dtype: int64

Nature du problème. Deux modalités : classificação binaire. Une cible continue relèverait de la regressão, une cible à plus de deux modalités d'une classificação multiclasse (chapitre 006).

Niveau de déséquilibre. Un rapport de 73 / 27 constitue un déséquilibre modéré, gérable par une séparation stratifiée et une pondération des classes.

modelo de référence. Un classifieur prédisant systématiquement la classe majoritaire atteint 73,47 % d'acurácia sans rien apprendre. Toute performance se compare à ce seuil, non à 50 % : un modelo affichant 75 % apporte un gain marginal de 1,5 point.

Effectif utile. La classe positive compte 2 653 observations. C'est ce nombre, et non 10 000, qui borne la capacité du modelo à caractériser les résiliations.

Rapport majoritaire / minoritaireQualificationConséquence méthodologique
50 / 50 à 65 / 35ÉquilibréAucun traitement spécifique ; l'acurácia reste interprétable
65 / 35 à 90 / 10Déséquilibre modéréSéparation stratifiée, pondération des classes, métriques par classe
90 / 10 à 99 / 1Déséquilibre fortacurácia disqualifiée ; PR-AUC, recall, precisão ; ajustement du seuil
Au-delà de 99 / 1Déséquilibre extrêmeRééchantillonnage encadré, apprentissage sensible au coût, détection d'anomalie

Le déséquilibre est développé au chapitre 050, le choix des métriques associées aux chapitres 053 et 064, l'ajustement du seuil au chapitre 062.

Point de vigilance : value_counts() ignore par défaut les valeurs manquantes. L'appel df["a_resilie"].value_counts(dropna=False) est indispensable : une cible partiellement non renseignée signale un défaut de constitution du conjunto de dados, ces observations n'étant exploitables ni en treinamento ni en évaluation.

5.6 valores faltantes et doublons

python
manquants = df.isnull().sum()
manquants = manquants[manquants > 0].sort_values(ascending=False)
print(manquants)
print((manquants / len(df) * 100).round(2))
satisfaction     2588
data_go_moyen    1209
revenu_estime     497
engagement         36
dtype: int64

satisfaction     25.88
data_go_moyen    12.09
revenu_estime     4.97
engagement        0.36
dtype: float64

Interprétation : le taux importe davantage que l'effectif brut. Un seuil usuel situe autour de 5 % la limite en deçà de laquelle une imputation simple est généralement sans conséquence, et autour de 40 à 50 % le niveau au-delà duquel la pertinence de la colonne doit être questionnée. Ces valeurs sont des repères, non des règles.

Point de vigilance : l'absence de valeur est fréquemment porteuse d'information. Une satisfaction non renseignée signale un client n'ayant jamais répondu à une enquête, ce qui constitue en soi un signal comportemental. La création d'un indicateur binaire satisfaction_manquante avant imputation préserve cette information (chapitre 018).

python
print("Lignes strictement dupliquées :", df.duplicated().sum())
print("Identifiants dupliqués :", df["client_id"].duplicated().sum())
print("Clients distincts :", df["client_id"].nunique())
Lignes strictement dupliquées : 0
Identifiants dupliqués : 143
Clients distincts : 9857

Interprétation, et c'est le résultat le plus lourd de conséquences de toute l'inspection. Aucune ligne n'est intégralement dupliquée, ce qui écarte l'hypothèse d'une erreur de concaténation. En revanche, 143 identifiants apparaissent plusieurs fois : le jeu comporte 9 857 clients distincts décrits par 10 000 lignes.

L'unité d'analyse n'est donc pas exactement le client. Trois questions s'imposent : ces lignes correspondent-elles à plusieurs dates d'observação d'un même client, à des contrats distincts, ou à un défaut de consolidation ? Selon la réponse, la séparation devra être effectuée par groupe (chapitre 027) et le point 2.3 s'applique intégralement.

DÉFINITION — Doublon strict et doublon fonctionnel

Doublon strict

Deux lignes identiques sur l'intégralité des colonnes. Détection : df.duplicated(). Origine usuelle : concaténation répétée, jointure mal cardinalisée, rechargement partiel.

Doublon fonctionnel

Deux lignes désignant la même entité du monde réel sans être identiques, du fait d'une différence de casse, d'espacement, de format ou d'horodatage. Détection : df.duplicated(subset=[...]) sur les colonnes constituant la clé métier.

Conséquence sur la modélisation

Un doublon strict présent des deux côtés d'une séparation aléatoire garantit une previsão correcte sur l'observação de test correspondante, par mémorisation. La performance mesurée est mécaniquement surestimée. Il s'agit d'une forme de fuite (chapitre 028).

Point de vigilance

La suppression des doublons n'est pas systématiquement justifiée. Deux transactions d'un même montant, au même commerçant, le même jour, peuvent être authentiques. La décision requiert la clé métier, jamais la seule identité des valeurs.

5.7 Liste de contrôle en 12 points

LISTE DE CONTRÔLE DU PREMIER CONTACT AVEC UN JEU DE DONNÉES

  1.  Que représente exactement une ligne ? Formuler la réponse
      en une phrase complète, validée par le métier.
  2.  Combien d'observations (n) et combien de colonnes (p) ?
      Le rapport n / p est-il compatible avec l'ambition du modèle ?
  3.  Une même entité apparaît-elle sur plusieurs lignes ?
      Vérifier nunique() sur la clé métier, pas seulement duplicated().
  4.  Quelle colonne constitue la variable cible, et est-elle
      intégralement renseignée ?
  5.  Quelle est la distribution de la cible ? En déduire le type de
      problème, le niveau de déséquilibre et le modèle de référence.
  6.  Quel est le rôle fonctionnel de chaque colonne : identifiant,
      variable explicative, cible, variable de fuite ?
  7.  Quel est le type de chaque variable, et le type inféré à la
      lecture coïncide-t-il avec la nature réelle de la grandeur ?
  8.  Quelles colonnes présentent des valeurs manquantes, à quel taux,
      et le manquement est-il porteur d'information ?
  9.  Les valeurs extrêmes sont-elles plausibles ? Distinguer la valeur
      impossible de la valeur atypique légitime.
  10. Des valeurs sentinelles sont-elles employées pour signaler
      l'absence d'information (-1, 999, 9999, 1900-01-01) ?
  11. Une composante temporelle est-elle présente, et impose-t-elle
      une séparation chronologique plutôt qu'aléatoire ?
  12. Chaque variable explicative sera-t-elle disponible et renseignée
      AU MOMENT où la prédiction devra être produite ?

Le douzième point est le plus fréquemment omis. Les onze premiers portent sur le fichier tel qu'il se présente et se vérifient par le code. Le douzième porte sur le processus métier qui produit les dados et ne se vérifie que par entretien avec les personnes qui exploitent le système.

Une variable peut être parfaitement renseignée dans l'historique et indisponible au moment de la previsão : renseignée plus tard dans le processus, calculée en traitement de nuit, ou saisie par un opérateur en réaction à l'événement même que le modelo doit anticiper. Un modelo construit sur de telles variables affiche une performance excellente en validation et devient inexploitable em produção (chapitre 028).


6. Études de cas : trois jeux de dados annotés

Chacun des trois cas suivants présente un extrait réaliste, puis l'analyse structurée à produire avant toute modélisation.

6.1 Attrition télécom

client_idageanciennete_moistype_forfaitengagementfacture_mensuellenb_appels_supportsatisfactiondate_souscriptiona_resilie
C-00001348MobileSans_eng29,90042024-06-120
C-000026745Fibre24_mois64,90322021-09-030
C-00003292MobileSans_eng19,9012024-12-201
C-000045261Fibre+TV24_mois89,90052020-02-280
C-000054117Fibre12_mois49,90712024-01-151
Élément d'analyseDétermination
Que représente une observaçãoUn client, décrit à la date d'extraction, avec son statut de résiliation constaté sur les douze mois suivants
Identifiants à exclureclient_id : retiré des variables explicatives, conservé pour la traçabilité et un éventuel groupement
variável alvoa_resilie, binaire
Type de problèmeclassificação binaire, cible déséquilibrée à environ 27 % de positifs
Variables explicativesage, anciennete_mois, type_forfait, engagement, facture_mensuelle, nb_appels_support, satisfaction, plus les variables dérivées de date_souscription
Types de variablesContinue : facture_mensuelle. Discrètes : anciennete_mois, nb_appels_support, age. Nominale : type_forfait. Ordinales : engagement, satisfaction. Temporelle : date_souscription
Points de vigilancefacture_mensuelle est mal typée (séparateur virgule). satisfaction présente 26 % de manquants dont l'absence est informative. date_souscription est redondante avec anciennete_mois et doit être décomposée. La colonne date_resiliation du fichier source est une variable de fuite, à exclure sans exception

Commentaire sur l'ordinalité de engagement. Les modalités Sans_eng, 12_mois et 24_mois sont ordonnées par durée croissante ; un codificação ordinal est justifié. Point de vigilance : un codificação automatique fondé sur l'ordre alphabétique produirait 12_mois < 24_mois < Sans_eng, plaçant l'absence d'engagement au niveau le plus élevé. La correspondance doit être explicite.

6.2 Prix immobilier

annonce_idcommunecode_postalsurface_m2nb_piecesetageannee_constructionclasse_energieascenseurdate_venteprix_vente
A-10471Lyon 3e6900368341972D12024-03-14331 000
A-10472Villeurbanne6910042212015B12024-03-18218 500
A-10473Lyon 6e69006105521930E02024-04-02712 000
A-10474Bron6950077401988D02024-04-11249 000
A-10475Lyon 3e6900331162019A12024-05-06189 900
Élément d'analyseDétermination
Que représente une observaçãoUne transaction immobilière achevée, et non un bien : un même bien revendu deux fois occupe deux lignes légitimes
Identifiants à exclureannonce_id
variável alvoprix_vente, numérique continue strictement positive
Type de problèmeregressão
Variables explicativescommune, surface_m2, nb_pieces, etage, annee_construction, classe_energie, ascenseur, plus les variables dérivées de date_vente
Types de variablesContinue : surface_m2. Discrètes : nb_pieces, etage. Intervalle : annee_construction. Nominale : commune. Ordinale : classe_energie (A à G). Binaire : ascenseur. Temporelle : date_vente
Points de vigilancecode_postal est un faux ami numérique : catégoriel nominal, redondant avec commune, à exclure ou à agréger. annee_construction est une variable d'intervalle, sa conversion en âge du bien à la date de vente est préférable. classe_energie est ordinale, avec un ordre décroissant de performance à expliciter. La cible est fortement asymétrique à droite, ce qui justifie l'examen d'une modélisation sur son logarithme

Commentaire sur la dépendance temporelle. Le marché immobilier connaît une desvio du niveau de prix. Un modelo entraîné sur des transactions de 2024 et appliqué en 2026 est exposé à une desvio de concept (chapitre 082). Si l'usage cible consiste à estimer des transactions futures, la séparation doit être chronologique : treinamento sur les périodes anciennes, évaluation sur la période la plus récente (chapitre 027).

6.3 Fraude bancaire

transaction_idcarte_idhorodatagemontantcommercantcategorie_mccpayscanaldelai_depuis_precedente_sest_fraude
T-9910001K-44712025-02-11 08:14:2212,40Boulangerie Vidal5462FRSans_contact43 1200
T-9910002K-44712025-02-11 08:19:071 890,00ElectroDirect5732LTEn_ligne2851
T-9910003K-44712025-02-11 08:21:551 940,00ElectroDirect5732LTEn_ligne1681
T-9910004K-20382025-02-11 09:02:1167,30Station Aral5541DEPuce61 4000
T-9910005K-77122025-02-11 09:03:488,90Metro Ligne 44111FRSans_contact22 0100
Élément d'analyseDétermination
Que représente une observaçãoUne transaction par carte, à un instant daté. L'unité d'analyse est la transaction, ni la carte ni le porteur
Identifiants à excluretransaction_id et carte_id des variables explicatives. carte_id est impérativement conservée comme clé de groupement
variável alvoest_fraude, binaire, avec un taux de positifs de l'ordre de 0,1 à 0,5 % en population réelle
Type de problèmeclassificação binaire à déséquilibre extrême
Variables explicativesmontant, categorie_mcc, pays, canal, delai_depuis_precedente_s, plus les variables dérivées de horodatage et les agrégats glissants par carte
Types de variablesContinues : montant, delai_depuis_precedente_s. Nominales : categorie_mcc, pays, canal, commercant. Temporelle : horodatage
Points de vigilanceTrois pièges se cumulent, développés ci-dessous. commercant présente une cardinalité de plusieurs centaines de milliers de modalités et n'est pas encodable en one-hot. categorie_mcc est un faux ami numérique : nomenclature catégorielle

Premier piège — le déséquilibre extrême. À 0,17 % de fraudes, un classifieur prédisant systématiquement l'absence de fraude atteint 99,83 % d'acurácia. Cette métrique est disqualifiée d'emblée. L'évaluation repose sur la precisão, le recall et l'área sob a curva precisão-recall, la curva ROC étant trop optimiste sous déséquilibre extrême. Le seuil de décision devient un parâmetro de pilotage arbitré selon le coût relatif d'une fraude non détectée et d'un blocage injustifié.

Deuxième piège — l'entité répétée. Une carte donne lieu à de nombreuses transactions. Une séparation aléatoire place des transactions d'une même carte de part et d'autre de la partition : le modelo apprend les habitudes de consommation de cartes qu'il retrouvera à l'évaluation, alors que l'usage cible consiste à statuer sur des cartes dont l'historique récent n'a pas été appris. Le groupement par carte_id est obligatoire.

Troisième piège — l'ordre temporel. Les schémas de fraude évoluent rapidement, par vagues associées à des campagnes actives. Une séparation aléatoire entraîne le modelo sur des transactions postérieures à celles de l'évaluation : le modelo connaît des schémas qui, em produção, n'existeraient pas encore. La séparation doit être strictement chronologique, la fenêtre d'évaluation étant postérieure à la fenêtre d'treinamento.

Point de vigilance sur le cumul. Les trois contraintes s'appliquent simultanément. La séparation doit être chronologique et respecter les groupes, ce qui exclut les découpages standards et impose une procédure spécifique : découpage temporel, puis exclusion des cartes présentes des deux côtés de la frontière. C'est un cas où l'analyse préalable du conjunto de dados détermine entièrement l'architecture de la validation.

ANALOGIE — Les trois pièges cumulés

Un examinateur souhaite évaluer la capacité d'un candidat à diagnostiquer une maladie rare.

S'il compose une épreuve où un cas sur six cents est pathologique, un candidat répondant systématiquement « sujet sain » obtient 99,8 % de bonnes réponses sans aucune compétence médicale. C'est le premier piège.

S'il présente à l'examen des dossiers de patients déjà rencontrés pendant la formation, il mesure la mémoire du candidat et non son diagnostic. C'est le deuxième piège.

S'il communique au candidat, pendant sa formation, les cas qui figureront à une session ultérieure, il mesure une capacité qui n'existera jamais en exercice réel. C'est le troisième piège.

Les trois viés s'additionnent : un dispositif d'évaluation les cumulant produit un score élevé et dépourvu de toute valeur prédictive.


7. Erreurs de raisonnement fréquentes

ERREUR — Modéliser sans avoir déterminé l'unité d'analyse

Un jeu de 50 000 lignes est présenté comme comportant 50 000 clients. Il comporte en réalité 50 000 contrats répartis sur 12 000 clients. Le volume effectif est divisé par quatre, la séparation aléatoire est invalide et la portée métier des prédictions n'est pas celle qui était annoncée.

Formulation correcte : « Avant toute manipulation, la question à instruire est celle de ce qu'une ligne représente exactement, et de la possibilité qu'une même entité y figure plusieurs fois. La réponse détermine le volume effectif, la stratégie de séparation et l'interprétation des prédictions. »

ERREUR — Conserver les identifiants parmi les variables explicatives

Un identifiant est arbitraire par construction. Il n'a aucun pouvoir explicatif, il capte les corrélations fallacieuses induites par l'ordre d'attribution, et sa quasi-unicité permet aux modèles à forte capacité de mémoriser chaque observação.

Formulation correcte : « Les identifiants sont exclus des variables explicatives tout en étant conservés dans le conjunto de dados, pour la traçabilité et pour le groupement lors de la séparation. Lorsqu'un identifiant encode une information métier, celle-ci est extraite dans une variable dédiée et l'identifiant brut est ensuite écarté. »

ERREUR — Omettre l'examen de la distribution de la cible

Cet examen coûte une ligne de code et détermine le type de problème, le niveau de déséquilibre, le modelo de référence, le choix des métriques et la stratégie de séparation. Son omission conduit à interpréter une acurácia de 97 % comme une performance, alors qu'elle peut être inférieure à celle d'un classifieur constant.

Formulation correcte : « La distribution de la variável alvo est examinée avant tout treinamento. Elle fixe le modelo de référence auquel toute performance ultérieure doit être comparée. »

ERREUR — Traiter comme numérique une variable catégorielle codée en chiffres

Un code postal, un code région, un code produit ou un code de nomenclature sont stockés comme entiers et sont catégoriels par nature. Traités comme numériques, ils conduisent un arbre à produire des partitions dépourvues de sens (« code postal inférieur à 44300 ») et un modelo linéaire à postuler une relation monotone entre un numéro de commune et la cible.

Formulation correcte : « Le type de stockage ne détermine pas la nature de la variable. Le critère est le sens métier des opérations arithmétiques : si la moyenne de deux valeurs ne désigne rien, la variable est catégorielle. »

ERREUR — Assimiler colonne et variável explicativa

Un fichier de quatorze colonnes ne fournit pas quatorze variables explicatives. Il fournit quatorze colonnes dont le rôle fonctionnel reste à déterminer : identifiant, variável explicativa, variável alvo ou variable de fuite. Les colonnes de fuite produisent une performance apparente proche de la perfection en validation et un modelo sans valeur em produção.

Formulation correcte : « Le rôle de chaque colonne est déterminé individuellement. Le critère d'admission parmi les variables explicatives est la disponibilité effective de la valeur à l'instant où la previsão doit être produite. »

ERREUR — Omettre la vérification des doublons

Un doublon strict présent des deux côtés d'une séparation garantit une previsão correcte par mémorisation et surestime la performance mesurée. Un doublon fonctionnel — même entité, lignes non identiques — n'est pas détecté par df.duplicated() et exige une vérification sur la clé métier.

Formulation correcte : « La vérification porte sur deux niveaux : les lignes strictement identiques, et les lignes désignant la même entité du monde réel. Le second niveau exige la connaissance de la clé métier et n'est pas automatisable sans elle. »

ERREUR — Considérer que le volume dispense de l'examen qualitatif

Un million d'observations dont la cible est mal étiquetée, dont les variables sont indisponibles em produção, ou dont une entité représente 40 % des lignes, ne produit pas un meilleur modelo que dix mille observations propres et correctement cadrées.

Formulation correcte : « Le volume conditionne la variância de l'estimation. Il ne corrige aucun viés. Un défaut de cadrage se retrouve à l'identique à toutes les échelles. »


8. Synthèse

STRUCTURE
    Un jeu de données est une matrice n × p.
        n = nombre d'observations  (les lignes)
        p = nombre de variables    (les colonnes)
        X = matrice des variables explicatives, y = vecteur cible

TERMINOLOGIE DE LA LIGNE
    observation · individu · instance · échantillon (sens ML) ·
    enregistrement · ligne · exemple · point de données
    Un seul terme est ambigu : échantillon, qui désigne aussi
    un sous-ensemble d'une population au sens statistique.

TERMINOLOGIE DE LA COLONNE
    variable · attribut · champ · colonne · dimension ·
    caractéristique · feature · prédicteur
    variable et colonne décrivent ; feature qualifie un rôle.

LES QUATRE RÔLES FONCTIONNELS D'UNE COLONNE
    identifiant           → exclure, conserver comme clé
    variable explicative  → soumettre au modèle
    variable cible        → isoler dans y
    variable de fuite     → exclure en priorité absolue

TYPOLOGIE DES VARIABLES
    numérique continue    · numérique discrète
    catégorielle nominale · catégorielle ordinale · binaire
    temporelle            · textuelle
    Échelles de Stevens : nominale · ordinale · intervalle · rapport

FAUX AMIS
    code postal, code région, code produit, code de nomenclature :
    numériques en apparence, catégoriels en nature.

PROTOCOLE D'INSPECTION INITIALE
    df.shape · df.head() · df.info() · df.describe()
    df[cible].value_counts(normalize=True)
    df.isnull().sum() · df.duplicated().sum()

LA QUESTION PREMIÈRE
    Que représente exactement une ligne,
    et une même entité peut-elle y figurer plusieurs fois ?

LA VÉRIFICATION AU MEILLEUR RENDEMENT
    La distribution de la variable cible.

LE POINT LE PLUS SOUVENT OMIS
    Chaque variable explicative sera-t-elle disponible
    au moment où la prédiction devra être produite ?

Énoncé de synthèse

Un conjunto de dados est une matrice dont les lignes sont des observations et les colonnes des variables ; sa lecture professionnelle consiste à établir ce qu'une ligne représente, à assigner à chaque colonne un rôle fonctionnel plutôt qu'à la supposer explicative, à classer chaque variable dans une typologie qui détermine son traitement, et à vérifier que chaque variable retenue sera effectivement disponible à l'instant de la previsão.


Quiz associés

  • 005.1-quiz-jeu-de-donnees.md
  • 005.2-quiz-observação-unite-analyse.md
  • 005.3-quiz-variable-roles.md
  • 005.4-quiz-typologie-variables.md
  • 005.5-quiz-inspection-initiale.md
  • 005.6-quiz-etudes-de-cas.md

Chapitre suivant : 006-features-target.md