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.
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.
| Symbole | Désignation | Ce qu'il compte | Synonymes rencontrés |
|---|---|---|---|
| n | Nombre d'observations | Les lignes | Taille de l'échantillon, effectif, nombre d'instances, nombre d'exemples |
| p | Nombre de variables | Les colonnes | Nombre d'attributs, nombre de features, dimensionnalité |
| X | Matrice des variables explicatives | n lignes × p colonnes | Matrice de conception, design matrix |
| y | Vecteur de la variável alvo | n valeurs | Vecteur 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 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.
La structure logique — une matrice n × p — est indépendante du support de stockage. Les formats suivants encodent le même objet.
| Format | Nature technique | Typage des colonnes | Volumétrie adaptée | Usage caractéristique |
|---|---|---|---|---|
| CSV | Fichier texte à séparateur | Aucun : tout est chaîne, le type est inféré à la lecture | Jusqu'à quelques centaines de Mo | Échange interapplicatif, export |
| Tableur (XLSX, ODS) | Fichier binaire à feuilles | Par cellule, hétérogène et non contraint | Quelques dizaines de milliers de lignes | Saisie et consultation métier |
| Table relationnelle | Table SQL persistée | Déclaré et contraint par le schéma | Millions à milliards de lignes | Système d'information de production |
| DataFrame | Structure en mémoire (pandas, polars, R) | Par colonne, homogène et explicite | Limitée par la mémoire disponible | Analyse et modélisation |
| Parquet | Fichier binaire orienté colonnes | Déclaré dans les métadonnées | Très grande, avec compression et lecture partielle | Stockage 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).
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é.
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) | Verdict | Conséquence méthodologique |
|---|---|---|
| Moins de 100 | Insuffisant pour une induction fondée | Statistique descriptive et expertise métier. Toute estimation de performance est dominée par le bruit d'échantillonnage |
| 100 à 1 000 | Exploitable sous conditions strictes | Modè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 000 | Domaine nominal du ML tabulaire | Séparation train / validation / test praticable, méthodes d'ensemble pertinentes, optimisation d'hyperparamètres raisonnable |
| Plus de 100 000 | Volume confortable | Modè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.
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 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é.
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 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 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.
| Terme | Discipline d'origine | Ce qu'il désigne | Contexte d'emploi caractéristique |
|---|---|---|---|
| observação | Statistique | Une ligne | Rédaction rigoureuse, articles méthodologiques |
| Individu | Statistique | Une ligne | Statistique descriptive, analyse de dados française |
| Instance | Informatique, IA symbolique | Une ligne | Littérature d'apprentissage automatique |
| Échantillon, sample | Anglais, bibliothèques ML | Une ligne (sens ML) ou un ensemble (sens statistique) | Documentation scikit-learn, plan de sondage |
| Enregistrement, record | Bases de dados | Une ligne de table | Ingénierie des dados, SQL |
| Ligne, row | Représentation tabulaire | Une ligne | Manipulation de fichiers et de DataFrames |
| Exemple, example | Apprentissage supervisé | Une ligne étiquetée | Description du jeu d'treinamento |
| Point de dados, data point | Géométrie de l'apprentissage | Une ligne vue comme un point | Raisonnement 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.
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 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 abonnement | Un client, à une date d'observação donnée | Nombre de clients actifs |
| Prédire le prix de vente d'un logement | Une transaction immobilière | Nombre de ventes historiques |
| Détecter une transaction frauduleuse | Une transaction par carte | Nombre de transactions traitées |
| Prédire la défaillance d'un équipement | Un équipement observé sur une fenêtre temporelle | Nombre d'équipements × nombre de fenêtres |
| Classer un courriel en indésirable | Un message | Nombre de messages du corpus |
| Estimer la demande d'un produit | Un couple produit × jour | Nombre de produits × nombre de jours |
| Diagnostiquer une pathologie sur imagerie | Un examen d'un patient | Nombre d'examens |
| Prédire le taux de conversion d'une campagne | Une campagne | Nombre 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.
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_id | client_id | date | montant | canal | retour_produit |
|---|---|---|---|---|---|
| CMD-1001 | C-042 | 2025-01-14 | 89,90 | web | 0 |
| CMD-1002 | C-317 | 2025-01-14 | 240,00 | magasin | 0 |
| CMD-1003 | C-042 | 2025-02-02 | 55,00 | web | 1 |
| CMD-1004 | C-042 | 2025-02-19 | 132,40 | web | 1 |
| CMD-1005 | C-988 | 2025-02-20 | 17,50 | web | 0 |
| CMD-1006 | C-317 | 2025-03-03 | 310,00 | magasin | 0 |
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.
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.
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.
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.
| Terme | Discipline d'origine | Nuance propre | Registre |
|---|---|---|---|
| Variable | Statistique | Neutre, descriptif | Rédaction rigoureuse |
| Attribut | Fouille de dados, IA | Propriété d'une instance | Littérature académique |
| Champ | Bases de dados | Composante typée d'un schéma | Ingénierie des dados |
| Colonne | Représentation tabulaire | Purement structurel | Manipulation de fichiers |
| Dimension | Géométrie, décisionnel | Axe de l'espace de représentation | Raisonnement géométrique |
| Caractéristique | Terminologie normalisée | Traduction de feature | Documentation francophone |
| feature | Anglicisme professionnel | Variable soumise au modelo | Pratique courante |
| Prédicteur, régresseur | Statistique inférentielle | variável explicativa d'un modelo | Économétrie, biostatistique |
| Rôle | Critère d'identification | Traitement | Renvoi |
|---|---|---|---|
| Identifiant | Valeur unique ou quasi unique par entité, sans signification métier intrinsèque | Exclure des variables explicatives, conserver pour la traçabilité et le groupement | Point 3.4, chapitre 027 |
| variável explicativa | Disponible et renseignée au moment où la previsão doit être produite | Soumettre au modelo, après codificação et transformation | Chapitres 006, 022, 024 |
| variável alvo | Grandeur que le modelo doit estimer | Isoler dans y, ne jamais laisser dans X | Chapitre 006 |
| Variable de fuite | Renseignée après ou du fait de l'événement à prédire | Exclure sans exception | Chapitre 028 |
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 :
| Colonne | Rôle | Justification |
|---|---|---|
client_id | Identifiant | Désigne l'entité, sans contenu explicatif |
anciennete_mois | variável explicativa | Connue avant l'événement, porteuse d'information |
type_forfait | variável explicativa | Connue avant l'événement |
nb_appels_support | variável explicativa | Connue avant l'événement |
a_resilie | variável alvo | Grandeur à prédire |
date_resiliation | Variable de fuite | Renseignée seulement si la résiliation a eu lieu |
motif_resiliation | Variable de fuite | Recueilli lors de la résiliation |
agent_retention_assigne | Variable de fuite | Assigné 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é.
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.
Certains identifiants ne sont pas arbitraires : leur structure encode une information métier réelle.
| Identifiant | Information encodée | Traitement correct |
|---|---|---|
NUM-2019-PAR-00471 | Année de création, agence d'origine | Extraire annee_creation et agence |
Numéro de série AX7-2021W34-0912 | Gamme, semaine de fabrication | Extraire gamme et semaine_fabrication |
Référence produit EL-TV-55-OLED | Rayon, catégorie, format | Extraire rayon, categorie, taille |
| IBAN | Pays, établissement bancaire | Extraire 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.
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.
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 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.
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 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 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).
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 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().
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.
É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.
| Échelle | Relations définies | Zéro | Statistiques licites | Exemple |
|---|---|---|---|---|
| Nominale | Égalité | Sans objet | Mode, effectifs, khi-deux | Ville, marque |
| Ordinale | Égalité, ordre | Sans objet | Mode, médiane, quantiles, corrélation de rang | classe énergétique |
| Intervalle | Égalité, ordre, différence | Conventionnel | Moyenne, écart-type, corrélation linéaire | Température Celsius, année |
| Rapport | Égalité, ordre, différence, rapport | Absolu | Toutes, y compris moyenne géométrique | Prix, poids, durée |
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 ?
| Colonne | Type de stockage | Nature réelle | Test de disqualification |
|---|---|---|---|
| Code postal | Entier | Catégorielle nominale | La moyenne de deux codes postaux ne désigne aucune commune |
| Code région, code département | Entier | Catégorielle nominale | Le numéro ordonne alphabétiquement, non géographiquement |
| Code produit, code magasin | Entier | Catégorielle nominale | Aucune relation d'ordre métier entre deux codes |
| Numéro de trimestre (1 à 4) | Entier | Ordinale cyclique | Le trimestre 4 précède le trimestre 1 de l'année suivante |
| Note d'évaluation (1 à 5) | Entier | Ordinale | L'écart entre 1 et 2 n'égale pas celui entre 4 et 5 |
| Identifiant client numérique | Entier | Identifiant | Aucune signification métier (point 3.4) |
| Code NAF, code CSP | Chaîne ou entier | Nominale hiérarchique | Nomenclature à niveaux, à exploiter par niveau |
| Année de construction | Entier | Numérique d'intervalle | Cas 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).
| Type | Test mental | Exemples | codificação requis | Renvoi |
|---|---|---|---|---|
| Numérique continue | Une valeur intermédiaire a-t-elle un sens ? | Prix, salaire, température, durée | Aucun ; normalização selon l'algoritmo | Chapitre 023 |
| Numérique discrète | Est-ce un comptage ? | Nombre de pièces, nombre d'appels | Aucun ; transformation log si asymétrie forte | Chapitre 024 |
| Catégorielle nominale | Un classement des modalités a-t-il un sens ? Non | Ville, marque, secteur | One-hot ; codificação par la cible à cardinalité élevée | Chapitre 022 |
| Catégorielle ordinale | Un classement a-t-il un sens, sans écart mesurable ? | Satisfaction, diplôme, classe énergétique | Ordinal, avec correspondance explicite | Chapitre 022 |
| Binaire | Exactement deux modalités ? | Oui / non, actif / inactif | 0 / 1, convention documentée | Chapitre 022 |
| Temporelle | Désigne-t-elle un instant ? | Date, horodatage | Décomposition calendaire et durées relatives | Chapitres 024 et 027 |
| Textuelle | Contenu rédigé librement ? | Commentaire, description | Vectorisation : comptage, TF-IDF, plongement | Chapitre 042 |
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.
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).
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 1Interpré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.
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+ MBPremiè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.
| Colonne | Type inféré | Type attendu | Diagnostic |
|---|---|---|---|
client_id, region, type_forfait, engagement, mode_paiement | object | object | Correct : identifiant et variables catégorielles |
facture_mensuelle | object | float64 | Type mal inféré : séparateur décimal virgule |
date_souscription | object | datetime64 | Type 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.
df["facture_mensuelle"] = (
df["facture_mensuelle"].str.replace(",", ".", regex=False).astype(float)
)
df["date_souscription"] = pd.to_datetime(df["date_souscription"])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.00Objet 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.
| Constat | Valeur | Diagnostic |
|---|---|---|
age maximum | 142 | Hors domaine : erreur de saisie, valeur sentinelle, ou date de naissance mal renseignée |
revenu_estime minimum | −5 000 | Hors domaine : erreur de signe, ou code sentinelle détourné |
data_go_moyen maximum | 94,3 | Extrême mais plausible : valeur atypique légitime, à examiner (chapitre 021) |
satisfaction count | 7 412 | Complétude partielle : 26 % de manquants |
a_resilie mean | 0,27 | La 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.
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.
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: int64Nature 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 / minoritaire | Qualification | Conséquence méthodologique |
|---|---|---|
| 50 / 50 à 65 / 35 | Équilibré | Aucun traitement spécifique ; l'acurácia reste interprétable |
| 65 / 35 à 90 / 10 | Déséquilibre modéré | Séparation stratifiée, pondération des classes, métriques par classe |
| 90 / 10 à 99 / 1 | Déséquilibre fort | acurácia disqualifiée ; PR-AUC, recall, precisão ; ajustement du seuil |
| Au-delà de 99 / 1 | Déséquilibre extrême | Réé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.
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: float64Interpré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).
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 : 9857Interpré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.
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.
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).
Chacun des trois cas suivants présente un extrait réaliste, puis l'analyse structurée à produire avant toute modélisation.
| client_id | age | anciennete_mois | type_forfait | engagement | facture_mensuelle | nb_appels_support | satisfaction | date_souscription | a_resilie |
|---|---|---|---|---|---|---|---|---|---|
| C-00001 | 34 | 8 | Mobile | Sans_eng | 29,90 | 0 | 4 | 2024-06-12 | 0 |
| C-00002 | 67 | 45 | Fibre | 24_mois | 64,90 | 3 | 2 | 2021-09-03 | 0 |
| C-00003 | 29 | 2 | Mobile | Sans_eng | 19,90 | 1 | — | 2024-12-20 | 1 |
| C-00004 | 52 | 61 | Fibre+TV | 24_mois | 89,90 | 0 | 5 | 2020-02-28 | 0 |
| C-00005 | 41 | 17 | Fibre | 12_mois | 49,90 | 7 | 1 | 2024-01-15 | 1 |
| Élément d'analyse | Détermination |
|---|---|
| Que représente une observação | Un client, décrit à la date d'extraction, avec son statut de résiliation constaté sur les douze mois suivants |
| Identifiants à exclure | client_id : retiré des variables explicatives, conservé pour la traçabilité et un éventuel groupement |
| variável alvo | a_resilie, binaire |
| Type de problème | classificação binaire, cible déséquilibrée à environ 27 % de positifs |
| Variables explicatives | age, anciennete_mois, type_forfait, engagement, facture_mensuelle, nb_appels_support, satisfaction, plus les variables dérivées de date_souscription |
| Types de variables | Continue : facture_mensuelle. Discrètes : anciennete_mois, nb_appels_support, age. Nominale : type_forfait. Ordinales : engagement, satisfaction. Temporelle : date_souscription |
| Points de vigilance | facture_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.
| annonce_id | commune | code_postal | surface_m2 | nb_pieces | etage | annee_construction | classe_energie | ascenseur | date_vente | prix_vente |
|---|---|---|---|---|---|---|---|---|---|---|
| A-10471 | Lyon 3e | 69003 | 68 | 3 | 4 | 1972 | D | 1 | 2024-03-14 | 331 000 |
| A-10472 | Villeurbanne | 69100 | 42 | 2 | 1 | 2015 | B | 1 | 2024-03-18 | 218 500 |
| A-10473 | Lyon 6e | 69006 | 105 | 5 | 2 | 1930 | E | 0 | 2024-04-02 | 712 000 |
| A-10474 | Bron | 69500 | 77 | 4 | 0 | 1988 | D | 0 | 2024-04-11 | 249 000 |
| A-10475 | Lyon 3e | 69003 | 31 | 1 | 6 | 2019 | A | 1 | 2024-05-06 | 189 900 |
| Élément d'analyse | Détermination |
|---|---|
| Que représente une observação | Une transaction immobilière achevée, et non un bien : un même bien revendu deux fois occupe deux lignes légitimes |
| Identifiants à exclure | annonce_id |
| variável alvo | prix_vente, numérique continue strictement positive |
| Type de problème | regressão |
| Variables explicatives | commune, surface_m2, nb_pieces, etage, annee_construction, classe_energie, ascenseur, plus les variables dérivées de date_vente |
| Types de variables | Continue : surface_m2. Discrètes : nb_pieces, etage. Intervalle : annee_construction. Nominale : commune. Ordinale : classe_energie (A à G). Binaire : ascenseur. Temporelle : date_vente |
| Points de vigilance | code_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).
| transaction_id | carte_id | horodatage | montant | commercant | categorie_mcc | pays | canal | delai_depuis_precedente_s | est_fraude |
|---|---|---|---|---|---|---|---|---|---|
| T-9910001 | K-4471 | 2025-02-11 08:14:22 | 12,40 | Boulangerie Vidal | 5462 | FR | Sans_contact | 43 120 | 0 |
| T-9910002 | K-4471 | 2025-02-11 08:19:07 | 1 890,00 | ElectroDirect | 5732 | LT | En_ligne | 285 | 1 |
| T-9910003 | K-4471 | 2025-02-11 08:21:55 | 1 940,00 | ElectroDirect | 5732 | LT | En_ligne | 168 | 1 |
| T-9910004 | K-2038 | 2025-02-11 09:02:11 | 67,30 | Station Aral | 5541 | DE | Puce | 61 400 | 0 |
| T-9910005 | K-7712 | 2025-02-11 09:03:48 | 8,90 | Metro Ligne 4 | 4111 | FR | Sans_contact | 22 010 | 0 |
| Élément d'analyse | Détermination |
|---|---|
| Que représente une observação | Une transaction par carte, à un instant daté. L'unité d'analyse est la transaction, ni la carte ni le porteur |
| Identifiants à exclure | transaction_id et carte_id des variables explicatives. carte_id est impérativement conservée comme clé de groupement |
| variável alvo | est_fraude, binaire, avec un taux de positifs de l'ordre de 0,1 à 0,5 % en population réelle |
| Type de problème | classificação binaire à déséquilibre extrême |
| Variables explicatives | montant, 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 variables | Continues : montant, delai_depuis_precedente_s. Nominales : categorie_mcc, pays, canal, commercant. Temporelle : horodatage |
| Points de vigilance | Trois 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.
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.
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. »
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é. »
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. »
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. »
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. »
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. »
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. »
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.md005.2-quiz-observação-unite-analyse.md005.3-quiz-variable-roles.md005.4-quiz-typologie-variables.md005.5-quiz-inspection-initiale.md005.6-quiz-etudes-de-cas.mdChapitre suivant : 006-features-target.md