Aller au contenu
Apprendre.
  • M1 · toutes les matières15 matières : Préparation de données, API & sécurité, CI/CD, Docker, Merise, Dataviz, KNIME, ML appliqué : projet LoL, SQL & UML, SQL avancé, Machine Learning, Git, IA frugale & responsable, Qualité des données, MathématiquesAnnée
  • M2 · toutes les matières4 matières : Deep Learning, AI Act, Comex & Fundraising, Gouvernance & DataMeshAnnée
  • Deep LearningM2 · 4 modules · Réseaux de neurones, CNN, texte, modèles génératifs.Matière
  • Préparation de donnéesM1 · 3 modules · Nettoyer, transformer et fusionner des données avec Python.Matière
  • API & sécuritéM1 · 2 modules · Consommer, concevoir et sécuriser des API.Matière
  • CI/CDM1 · 1 module · Intégration et livraison continues.Matière
  • DockerM1 · 3 modules · Conteneurs, images, volumes, réseaux, Compose.Matière
  • MeriseM1 · 2 modules · Modéliser une base : MCD, MLD, MPD.Matière
  • DatavizM1 · 2 modules · Visualiser pour comprendre et décider.Matière
  • KNIMEM1 · 1 module · Explorer et nettoyer des données en workflow.Matière
  • ML appliqué : projet LoLM1 · 2 modules · Du besoin métier au POC de vision par ordinateur.Matière
  • SQL & UMLM1 · 3 modules · Modèles UML et requêtes SQL.Matière
  • SQL avancéM1 · 3 modules · Jointures, fenêtres, CTE, optimisation.Matière
  • Machine LearningM1 · 3 modules · Régression, classification, segmentation, projet.Matière

↑↓ naviguer↵ ouvre le résultat en surbrillanceesc fermer

Partie 1 · Mesurer

L'unicité : doublons, grain et bonne règle

L'unicité demande : « y a-t-il des doublons ? » (exemple : même identifiant répété). Sur l'IRVE, le TP compte 67 094 lignes dupliquées sur l'identifiant de borne (id_pdc_itinerance). On est tenté de lancer un drop_duplicates() et de passer à la suite.

Or le TP prévient : ces 67 000 « doublons » n'en sont pas. Le grain du fichier est point de charge × livraison : chaque livraison contient à nouveau les points de charge. Un drop_duplicates() naïf supprime des bornes valides.

FR1 · livraison 10/01 FR1 · livraison 02/03 FR2 · livraison 10/01 →règle : date_maj max FR1 · 02/03 (gardée) FR2 · 10/01 (gardée)

Vérifie que tu as compris

Pourquoi un drop_duplicates() aveugle sur l'identifiant est-il dangereux sur l'IRVE ?

À toi de coder

Compter les lignes en trop sur un identifiant

Un identifiant répété signale des doublons. Écris lignes_en_trop(ids) : nombre de lignes en trop = nombre total de lignes moins nombre d'identifiants distincts. C'est la logique de la mesure du TP (« bornes réelles vs lignes en trop »).

Ctrl/⌘+Entrée

La démarche du TP (partie 2, « Comprendre la donnée avant de la nettoyer ») :

  1. Étudier le grain : pourquoi id_pdc_itinerance se répète-t-il ?
  2. Définir LA règle de dédoublonnage : par exemple garder la livraison la plus récente (date_maj max).
  3. Mesurer l'impact : combien de bornes réelles contre combien de lignes en trop.

Le livrable est un dataset dédoublonné accompagné d'une justification écrite de la règle. Dans le Journal de décisions : problème « Doublons id_pdc » ; options « tout supprimer / garder récent » ; choix « garder date_maj max » ; justification « une borne = un point physique ».

À toi de coder

Dédoublonner en gardant la livraison la plus récente

Le grain du fichier IRVE est point de charge × livraison : un même id_pdc apparaît à chaque livraison. La règle du TP : garder la livraison la plus récente (date_maj max). Écris garder_recent(lignes) qui renvoie une liste avec une seule ligne par id_pdc : celle dont date_maj (format ISO AAAA-MM-JJ, comparables comme texte) est la plus grande. Trie le résultat par id_pdc.

Ctrl/⌘+Entrée

Vérifie que tu as compris

Quelle règle de dédoublonnage le Journal de décisions du TP donne-t-il en exemple ?

Distinguer deux situations est essentiel : un doublon exact (toutes les colonnes égales : vraie redondance) et une répétition de grain (même identifiant, livraisons différentes : information légitime à arbitrer par une règle).

À toi de coder

Doublon exact contre répétition de grain

Tous les identifiants répétés ne sont pas des erreurs. Écris doublons_exacts(lignes) : nombre de lignes strictement identiques à une ligne déjà vue (toutes les colonnes égales). Une même borne livrée à deux dates (date_maj différente) n'est PAS un doublon exact.

Ctrl/⌘+Entrée