Les données structurées et leur traitement
Une version article du chapitre pour comprendre l'essentiel rapidement, vérifier si le niveau correspond, puis basculer vers Wilo pour la pratique guidée et le suivi.
Lecture
5 chapitres
Un parcours éditorialisé et navigable.
Pratique
12 questions
Quiz et cartes mémoire à ouvrir après la lecture.
Objectif
Seconde générale et technologique
Format rapide pour vérifier si le chapitre correspond.
Chapitre 1
Introduction aux données et à leur structuration
Qu'est-ce qu'une donnée ?
En informatique, une donnée est une représentation brute et élémentaire d'une information. C'est un fait, un chiffre, un texte, une image ou un son, qui, pris isolément, n'a pas forcément de sens complet.
La distinction entre donnée et information est fondamentale :
- Une donnée est un élément brut, un simple enregistrement.
- Une information est une donnée qui a été traitée, organisée et interprétée pour lui donner du sens et la rendre utile.
Exemples de données brutes :
- Le nombre "15"
- Le mot "Paris"
- La date "2023-10-27"
- Une série de pixels représentant une image
- Un fichier audio
Lorsque nous combinons ces données brutes, par exemple "15", "Paris", "2023-10-27", "température", nous pouvons obtenir l'information : "La température à Paris le 27 octobre 2023 était de 15 degrés Celsius."
Nécessité de structurer les données
Imaginez que vous ayez des milliers d'informations sur des élèves, mais toutes écrites en vrac sur des feuilles, sans ordre précis. Retrouver l'âge d'un élève ou la liste de tous les élèves nés en janvier deviendrait une tâche insurmontable. C'est là qu'intervient la structuration des données.
Problèmes des données non structurées :
- Difficulté de recherche : Impossible de trouver rapidement une information précise.
- Complexité d'analyse : Les données ne peuvent pas être facilement comparées ou agrégées.
- Risque d'erreurs : Les informations sont incohérentes ou dupliquées.
- Gaspillage de stockage : Des données redondantes occupent de l'espace inutilement.
- Inexploitabilité : Les programmes informatiques ne peuvent pas les traiter efficacement.
Avantages de la structuration des données :
- Facilité de recherche et d'accès : Les données sont organisées logiquement, permettant des requêtes rapides.
- Cohérence et intégrité : Les règles de structuration aident à maintenir la qualité des données.
- Analyse facilitée : Les données peuvent être triées, filtrées et regroupées pour en extraire des tendances.
- Efficacité du stockage : La redondance est minimisée.
- Interopérabilité : Les données structurées peuvent être échangées plus facilement entre différents systèmes.
Exemples concrets :
- Un annuaire téléphonique est une donnée structurée (Nom, Prénom, Numéro, Adresse).
- Une liste de courses est une donnée non structurée (écrite librement).
- Un tableau Excel avec des colonnes "Nom", "Prénom", "Date de naissance" est un exemple de données structurées.
Types de données et formats
Les données peuvent être classées de différentes manières selon leur nature et leur organisation.
Selon leur nature :
- Données numériques : Nombres entiers (ex: 10, 250), nombres décimaux (ex: 3.14, -0.5).
- Données textuelles : Chaînes de caractères (ex: "Bonjour le monde", "Nom de l'élève").
- Données booléennes : Vraies/Faux (True/False, 1/0).
- Données de date/heure : (ex: 2023-10-27, 14:30:00).
- Données multimédia : Images, vidéos, sons.
Selon leur structuration :
- Données structurées : Hautement organisées et conformes à un modèle prédéfini. Elles résident généralement dans des bases de données relationnelles ou des fichiers tabulaires. Chaque donnée a une place et un type bien définis. Exemples : Tables SQL, fichiers CSV avec des en-têtes de colonnes clairs.
- Données semi-structurées : Elles ne respectent pas un schéma rigide comme les données structurées, mais elles contiennent des balises ou des marqueurs pour séparer les éléments et organiser la hiérarchie. Elles sont souvent auto-descriptives. Exemples : JSON, XML.
- Données non structurées : N'ont pas de structure prédéfinie. Elles sont souvent du texte libre, des images, des vidéos. Exemples : E-mails, documents Word, pages web, publications sur les réseaux sociaux.
Formats courants pour les données structurées et semi-structurées :
-
CSV (Comma Separated Values - Valeurs séparées par des virgules) :
- Format simple pour les données tabulaires.
- Chaque ligne représente un enregistrement, chaque colonne un champ.
- Les valeurs sont séparées par un délimiteur (souvent une virgule ou un point-virgule).
- Exemple :
Nom,Age,Ville Dupont,30,Paris Martin,25,Lyon
-
JSON (JavaScript Object Notation) :
- Format léger et lisible par l'homme pour l'échange de données.
- Utilise des paires clé-valeur et des tableaux.
- Très utilisé pour les API web.
- Exemple :
{ "Nom": "Dupont", "Age": 30, "Ville": "Paris", "Hobbies": ["Lecture", "Voyage"] }
-
XML (eXtensible Markup Language) :
- Format plus ancien et plus verbeux que JSON.
- Utilise des balises pour définir la structure des données.
- Permet de décrire des documents complexes.
- Exemple :
<Personne> <Nom>Dupont</Nom> <Age>30</Age> <Ville>Paris</Ville> </Personne>
Chapitre 2
Le format CSV pour les données tabulaires
Présentation du format CSV
Le format CSV est l'un des formats les plus simples et les plus répandus pour stocker des données tabulaires. CSV signifie Comma Separated Values, ce qui se traduit par "valeurs séparées par des virgules".
Structure d'un fichier CSV : Un fichier CSV est un fichier texte pur.
- Chaque ligne du fichier représente un enregistrement ou une ligne de données.
- Chaque enregistrement est composé de plusieurs champs ou colonnes.
- Les champs sont séparés par un caractère délimiteur, le plus souvent une virgule (
,) mais parfois un point-virgule (;) ou une tabulation (\t). - La première ligne du fichier contient souvent les en-têtes de colonnes, qui décrivent le contenu de chaque champ.
Exemple de fichier CSV (avec virgule comme séparateur) :
Nom,Prénom,Âge,Ville
Durand,Sophie,28,Marseille
Lefevre,Pierre,35,Nantes
Bernard,Julie,22,Bordeaux
Exemple de fichier CSV (avec point-virgule comme séparateur, courant en France) :
Nom;Prénom;Âge;Ville
Durand;Sophie;28;Marseille
Lefevre;Pierre;35;Nantes
Bernard;Julie;22;Bordeaux
Il est crucial de connaître le séparateur utilisé pour interpréter correctement le fichier.
Lecture et écriture de fichiers CSV
Les fichiers CSV sont très faciles à manipuler avec de nombreux outils.
Ouverture avec un tableur (Excel, LibreOffice Calc, Google Sheets) : C'est la méthode la plus courante pour visualiser et modifier des CSV.
- Ouvrez le tableur.
- Utilisez la fonction "Ouvrir" ou "Importer".
- Sélectionnez votre fichier CSV.
- Le tableur vous demandera souvent de spécifier le séparateur (virgule, point-virgule, tabulation) et l'encodage des caractères (souvent UTF-8 ou ISO-8859-1). C'est une étape importante pour que les données s'affichent correctement dans les colonnes.
Manipulation simple (tri, filtre) : Une fois le fichier CSV ouvert dans un tableur, vous pouvez effectuer des opérations de base :
- Tri : Trier les données par ordre alphabétique de nom, par âge croissant/décroissant, etc.
- Filtre : Afficher uniquement les personnes de "Marseille", ou les personnes de plus de 30 ans.
- Calculs : Ajouter une colonne pour calculer l'âge moyen, par exemple.
Exportation en CSV : Après avoir modifié ou créé des données dans un tableur, vous pouvez les sauvegarder au format CSV :
- Utilisez la fonction "Enregistrer sous" ou "Exporter".
- Choisissez le format "CSV (valeurs séparées par des virgules)" ou "Texte CSV".
- Le tableur vous demandera souvent de choisir le séparateur et l'encodage.
Limites et cas d'usage du CSV
Bien que très pratique, le format CSV a ses limites.
Limites du CSV :
- Absence de types de données explicites : Un CSV ne spécifie pas si une colonne contient des nombres, du texte ou des dates. Tout est traité comme du texte. C'est au programme qui lit le fichier d'interpréter correctement les types.
- Exemple : "01" et "1" sont traités comme des chaînes de caractères, non comme le même nombre.
- Gestion des caractères spéciaux : Si une valeur contient le caractère séparateur (par exemple, une virgule dans un champ de texte alors que la virgule est le séparateur), la valeur doit être encadrée par des guillemets doubles (
"). Si la valeur contient elle-même des guillemets, ceux-ci doivent être "échappés" (souvent en les doublant).- Exemple :
Description,"Un texte, avec une virgule",Prix - Exemple :
Description,"Un texte avec ""guillemets""",Prix
- Exemple :
- Pas de hiérarchie : Le CSV est strictement tabulaire (lignes et colonnes). Il ne peut pas représenter de relations complexes ou de données imbriquées (comme une liste d'adresses pour une seule personne).
- Absence de métadonnées : Il n'y a pas de moyen standard d'inclure des informations sur le fichier lui-même (comme la date de création, l'auteur, etc.) à l'intérieur du CSV.
Cas d'usage du CSV : Le format CSV est idéal pour :
- L'échange de données tabulaires simples : Quand vous avez des données qui peuvent être représentées comme un tableau (feuilles de calcul, listes de contacts, résultats d'enquêtes).
- L'import/export de données entre applications : Beaucoup de logiciels (bases de données, CRM, outils d'analyse) peuvent importer et exporter des données au format CSV.
- Petits jeux de données : Pour des volumes de données modestes à moyens, le CSV est rapide à générer et à traiter.
- Archivage de données brutes : Simple et lisible, il est un bon choix pour archiver des données dans un format universel.
Le CSV est un excellent choix pour sa simplicité et sa compatibilité universelle, mais il montre ses limites dès que les données deviennent plus complexes ou hiérarchiques.
Chapitre 3
Le format JSON pour les données hiérarchiques
Introduction au format JSON
JSON signifie JavaScript Object Notation. C'est un format de données textuel, léger et facilement lisible par l'homme, conçu pour l'échange de données. Bien qu'il soit issu de JavaScript, il est aujourd'hui indépendant du langage et est utilisé dans presque tous les environnements de programmation.
Syntaxe de base : JSON est construit sur deux structures principales :
-
Objets (Objects) : Représentés par des accolades
{}. Un objet est une collection de paires clé-valeur non ordonnées.- Chaque clé est une chaîne de caractères (entre guillemets doubles).
- Chaque valeur peut être un autre objet, un tableau, une chaîne, un nombre, un booléen, ou
null. - Les paires clé-valeur sont séparées par des virgules.
- Exemple :
{"nom": "Alice", "age": 30}
-
Tableaux (Arrays) : Représentés par des crochets
[]. Un tableau est une liste ordonnée de valeurs.- Les valeurs sont séparées par des virgules.
- Les valeurs peuvent être de types différents (chaînes, nombres, objets, autres tableaux).
- Exemple :
["pomme", "banane", "cerise"]ou[{"id": 1}, {"id": 2}]
Paires clé-valeur :
C'est l'élément fondamental du JSON. Une clé (toujours une chaîne de caractères) est associée à une valeur.
"clé": valeur
Types de données en JSON
JSON supporte un ensemble limité mais puissant de types de données :
-
Chaînes de caractères (Strings) : Séquence de caractères Unicode, encadrée par des guillemets doubles.
- Exemple :
"Bonjour le monde","Nom de l'utilisateur"
- Exemple :
-
Nombres (Numbers) : Entiers ou nombres à virgule flottante. Pas de distinction entre entiers et flottants.
- Exemple :
123,3.14,-5
- Exemple :
-
Booléens (Booleans) : Valeurs
trueoufalse.- Exemple :
"estActif": true,"isAdmin": false
- Exemple :
-
null: Représente l'absence intentionnelle de valeur.- Exemple :
"emailSecondaire": null
- Exemple :
-
Objets imbriqués : Un objet peut contenir d'autres objets comme valeurs, permettant de créer des structures hiérarchiques complexes.
- Exemple :
{ "personne": { "nom": "Dupont", "prénom": "Jean" } }
- Exemple :
-
Tableaux d'éléments : Un tableau peut contenir n'importe quel type de valeurs, y compris d'autres objets ou tableaux.
- Exemple :
{ "produits": [ {"id": 1, "nom": "Clavier"}, {"id": 2, "nom": "Souris"} ] } - Exemple de tableau de chaînes :
["rouge", "vert", "bleu"] - Exemple de tableau de nombres :
[10, 20, 30]
- Exemple :
Cas d'usage et avantages du JSON
Le JSON est devenu le format de données standard pour de nombreuses applications modernes.
Cas d'usage :
- Échange de données web (API) : C'est le format prédominant pour les interfaces de programmation d'applications (API) RESTful. Les serveurs web envoient des données JSON aux navigateurs ou aux applications mobiles, et vice-versa.
- Fichiers de configuration : De nombreux logiciels utilisent des fichiers JSON pour stocker leurs paramètres de configuration.
- Stockage de données NoSQL : Certaines bases de données (comme MongoDB) stockent directement les données au format JSON (ou des formats similaires).
- Communication inter-services : Pour la communication entre différents microservices dans une architecture distribuée.
Avantages du JSON :
- Lisibilité et simplicité : La syntaxe est concise et facile à comprendre pour les humains.
- Flexibilité : Il permet de représenter des structures de données complexes et hiérarchiques, contrairement au CSV.
- Indépendance du langage : Bien qu'issu de JavaScript, il existe des parseurs JSON dans presque tous les langages de programmation, ce qui le rend universel.
- Légèreté : Moins verbeux que XML, ce qui réduit la taille des fichiers et la bande passante nécessaire pour l'échange de données.
- Facilité d'intégration : Très facile à manipuler avec JavaScript, ce qui est un atout majeur pour le développement web front-end.
Comparaison avec XML : Historiquement, XML était le format dominant pour l'échange de données. JSON l'a largement supplanté pour la plupart des usages web modernes en raison de sa simplicité et de sa légèreté.
| Caractéristique | JSON | XML |
|---|---|---|
| Lisibilité | Très bonne, syntaxe concise | Bonne, mais plus verbeux (balises ouvrantes/fermantes) |
| Complexité | Simple, types de données limités | Plus complexe, permet des schémas (DTD, XSD) |
| Hiérarchie | Excellente (objets imbriqués, tableaux) | Excellente (éléments imbriqués) |
| Taille fichier | Généralement plus petit | Généralement plus grand |
| Cas d'usage typique | API web, configuration, NoSQL | Documents complexes, SOAP, RSS |
| Performance | Plus rapide à parser | Plus lent à parser |
JSON est le format de prédilection pour l'échange de données sur le web grâce à sa simplicité, sa flexibilité et sa légèreté.
Chapitre 4
Bases de données relationnelles et SQL
Concept de base de données relationnelle
Une base de données (BDD) est une collection organisée de données structurées, stockées électroniquement et accessibles par un système informatique. Une base de données relationnelle est un type spécifique de BDD qui organise les données en tables (ou relations).
Tables, lignes, colonnes :
- Une table est une collection de données liées les unes aux autres, organisées en lignes et en colonnes. Imaginez une feuille de calcul Excel.
- Exemple : Table
Clients, TableProduits, TableCommandes.
- Exemple : Table
- Une ligne (ou enregistrement, ou tuple) représente une entité unique dans la table.
- Exemple : Une ligne dans la table
Clientsreprésente un client spécifique.
- Exemple : Une ligne dans la table
- Une colonne (ou attribut, ou champ) représente une caractéristique ou une propriété de l'entité. Chaque colonne a un nom et un type de données (texte, nombre, date, etc.).
- Exemple : Dans la table
Clients, on pourrait avoir les colonnesID_Client,Nom,Prénom,Adresse.
- Exemple : Dans la table
Clés primaires (Primary Keys) : Une clé primaire est une colonne (ou un ensemble de colonnes) dont la valeur identifie de manière unique chaque ligne d'une table.
- Elle ne peut pas contenir de valeurs dupliquées.
- Elle ne peut pas être
NULL(vide). - Elle garantit l'unicité de chaque enregistrement dans la table.
- Exemple :
ID_Clientdans une tableClients.
Clés étrangères (Foreign Keys) : Une clé étrangère est une colonne (ou un ensemble de colonnes) dans une table qui fait référence à la clé primaire d'une autre table.
- Elle établit une relation entre deux tables.
- Elle garantit l'intégrité référentielle, c'est-à-dire que la valeur de la clé étrangère doit exister comme clé primaire dans la table référencée.
- Exemple : Dans une table
Commandes, la colonneID_Clientserait une clé étrangère qui fait référence à la clé primaireID_Clientde la tableClients. Cela permet de savoir quel client a passé quelle commande.
Schéma d'une base de données relationnelle (exemple simple) :
Table Clients
| ID_Client (PK) | Nom | Prénom | Ville |
|---|---|---|---|
| 1 | Dupont | Jean | Paris |
| 2 | Martin | Sophie | Lyon |
Table Commandes
| ID_Commande (PK) | ID_Client (FK) | Date_Commande | Montant |
|---|---|---|---|
| 101 | 1 | 2023-01-15 | 120.50 |
| 102 | 2 | 2023-01-16 | 85.00 |
| 103 | 1 | 2023-01-17 | 200.00 |
Ici, ID_Client dans Commandes est une clé étrangère qui pointe vers ID_Client dans Clients.
Introduction au langage SQL
SQL signifie Structured Query Language (Langage de Requête Structuré). C'est le langage standard pour interagir avec les bases de données relationnelles. Il permet de créer, modifier et interroger des bases de données.
Rôle de SQL : SQL est utilisé pour :
- Définir la structure des bases de données (créer des tables, définir des colonnes).
- Manipuler les données (insérer, modifier, supprimer des enregistrements).
- Interroger les données (récupérer des informations spécifiques).
- Gérer les autorisations d'accès aux données.
Requêtes de sélection (SELECT) :
La commande SELECT est la plus utilisée en SQL. Elle permet de récupérer des données d'une ou plusieurs tables.
Syntaxe de base :
SELECT colonne1, colonne2, ...
FROM nom_de_la_table;
- Pour sélectionner toutes les colonnes :
SELECT * FROM nom_de_la_table;
Exemples :
- Sélectionner tous les noms et prénoms des clients :
SELECT Nom, Prénom FROM Clients; - Sélectionner toutes les informations de tous les produits :
SELECT * FROM Produits;
Filtrage (WHERE) :
La clause WHERE est utilisée avec SELECT pour filtrer les enregistrements et ne récupérer que ceux qui satisfont une condition spécifique.
Syntaxe de base :
SELECT colonne1, colonne2, ...
FROM nom_de_la_table
WHERE condition;
Exemples :
- Sélectionner les clients habitant à Paris :
SELECT Nom, Prénom FROM Clients WHERE Ville = 'Paris'; - Sélectionner les commandes dont le montant est supérieur à 100 :
SELECT * FROM Commandes WHERE Montant > 100; - Combiner des conditions :
SELECT * FROM Clients WHERE Ville = 'Paris' AND Age > 25;
Opérations de base avec SQL
Outre la sélection, SQL permet de modifier les données dans la base.
Insertion de données (INSERT) : Permet d'ajouter de nouvelles lignes (enregistrements) dans une table.
Syntaxe :
INSERT INTO nom_de_la_table (colonne1, colonne2, ...)
VALUES (valeur1, valeur2, ...);
Ou, si vous insérez des valeurs pour toutes les colonnes dans l'ordre :
INSERT INTO nom_de_la_table
VALUES (valeur1, valeur2, ...);
Exemple :
- Ajouter un nouveau client :
INSERT INTO Clients (ID_Client, Nom, Prénom, Ville) VALUES (3, 'Dubois', 'Marc', 'Toulouse');
Mise à jour de données (UPDATE) : Permet de modifier les valeurs d'une ou plusieurs colonnes pour les lignes qui satisfont une condition.
Syntaxe :
UPDATE nom_de_la_table
SET colonne1 = nouvelle_valeur1, colonne2 = nouvelle_valeur2, ...
WHERE condition;
ATTENTION : Toujours utiliser la clause WHERE avec UPDATE, sinon toutes les lignes de la table seront modifiées !
Exemple :
- Mettre à jour la ville du client ayant l'ID 1 :
UPDATE Clients SET Ville = 'Bordeaux' WHERE ID_Client = 1;
Suppression de données (DELETE) : Permet de supprimer des lignes (enregistrements) d'une table qui satisfont une condition.
Syntaxe :
DELETE FROM nom_de_la_table
WHERE condition;
ATTENTION : Toujours utiliser la clause WHERE avec DELETE, sinon toutes les lignes de la table seront supprimées !
Exemple :
- Supprimer le client ayant l'ID 2 :
DELETE FROM Clients WHERE ID_Client = 2;
Jointures simples entre tables
Les bases de données relationnelles sont conçues pour stocker des données dans plusieurs tables liées entre elles par des clés primaires et étrangères. Pour obtenir des informations complètes qui s'étendent sur plusieurs tables, nous utilisons des jointures.
Nécessité des jointures :
Reprenons l'exemple des tables Clients et Commandes.
Si vous voulez savoir quel client (son nom) a passé la commande numéro 101, vous avez besoin d'informations des deux tables : ID_Client de la table Commandes et Nom de la table Clients. Une jointure combine ces informations.
Concept de jointure interne (INNER JOIN) :
L'INNER JOIN est le type de jointure le plus courant. Il combine les lignes de deux tables lorsque la condition de jointure est vraie, c'est-à-dire lorsqu'il y a une correspondance dans les colonnes spécifiées des deux tables. Les lignes qui n'ont pas de correspondance dans l'autre table sont exclues.
Syntaxe :
SELECT colonnes
FROM table1
INNER JOIN table2 ON table1.colonne_commune = table2.colonne_commune;
Exemples pratiques :
-
Récupérer le nom du client pour chaque commande :
SELECT C.Nom, C.Prénom, Co.ID_Commande, Co.Montant FROM Clients AS C INNER JOIN Commandes AS Co ON C.ID_Client = Co.ID_Client;(Ici,
AS CetAS Cosont des alias pour les tables, pour rendre la requête plus courte et lisible.)Résultat attendu :
Nom Prénom ID_Commande Montant Dupont Jean 101 120.50 Martin Sophie 102 85.00 Dupont Jean 103 200.00 -
Récupérer les clients qui ont passé au moins une commande : (Dans ce cas, l'INNER JOIN exclut les clients sans commande)
SELECT DISTINCT C.Nom, C.Prénom FROM Clients AS C INNER JOIN Commandes AS Co ON C.ID_Client = Co.ID_Client;
Les jointures sont essentielles pour exploiter pleinement la puissance des bases de données relationnelles en combinant des informations provenant de différentes sources logiques.
Chapitre 5
Traitement et visualisation des données structurées
Collecte et nettoyage des données
Avant toute analyse, les données doivent être collectées et préparées. C'est une étape cruciale qui prend souvent la majorité du temps dans un projet de données.
Sources de données : Les données peuvent provenir de diverses sources :
- Bases de données : Relationnelles (SQL), NoSQL, etc.
- Fichiers plats : CSV, JSON, XML, TXT.
- API (Application Programming Interface) : Services web qui fournissent des données structurées.
- Web scraping : Extraction de données à partir de pages web.
- Capteurs : Données IoT (Internet des Objets).
- Enquêtes, formulaires : Données collectées manuellement.
Identification des erreurs : Les données brutes sont rarement parfaites. Les erreurs courantes incluent :
- Valeurs manquantes : Des champs vides là où une donnée est attendue.
- Exemple : Un client sans adresse email.
- Doublons : Plusieurs enregistrements identiques pour la même entité.
- Exemple : Deux fois le même client avec des ID différents ou non.
- Incohérences : Données qui ne correspondent pas à la réalité ou à d'autres données.
- Exemple : Âge = 150 ans, un prix négatif.
- Erreurs de format : Données dans un format incorrect.
- Exemple : Une date écrite "27/10/2023" et "Octobre 27, 23" dans la même colonne.
- Valeurs aberrantes (outliers) : Données qui s'écartent significativement de la majorité. Elles peuvent être des erreurs ou des cas exceptionnels intéressants.
- Exemple : Un salaire de 1€ pour un cadre.
Stratégies de nettoyage : Le nettoyage des données est le processus de détection et de correction (ou suppression) des erreurs.
- Gestion des valeurs manquantes :
- Suppression : Supprimer les lignes ou colonnes avec trop de valeurs manquantes (si la perte de données n'est pas critique).
- Imputation : Remplacer les valeurs manquantes par une valeur calculée (moyenne, médiane, mode) ou une valeur par défaut (ex: 0, "Inconnu").
- Gestion des doublons :
- Identification : Utiliser des identifiants uniques ou des combinaisons de champs pour trouver les doublons.
- Suppression : Conserver un seul enregistrement par entité unique.
- Correction des incohérences et erreurs de format :
- Standardisation : Uniformiser les formats (ex: toutes les dates au format YYYY-MM-DD).
- Validation : Vérifier les valeurs par rapport à des règles (ex: l'âge doit être entre 0 et 120).
- Correction manuelle : Pour les cas complexes ou les petits jeux de données.
- Gestion des valeurs aberrantes :
- Investigation : Comprendre pourquoi elles sont là. Sont-ce des erreurs ou des cas réels ?
- Correction/Suppression : Si ce sont des erreurs, les corriger ou les supprimer. Si ce sont des valeurs réelles mais extrêmes, décider si elles doivent être traitées différemment dans l'analyse.
Un nettoyage rigoureux est essentiel car "Garbage In, Garbage Out" (des données de mauvaise qualité produiront des résultats d'analyse de mauvaise qualité).
Analyse exploratoire des données
L'Analyse Exploratoire des Données (AED), ou EDA (Exploratory Data Analysis), est une étape clé pour comprendre les caractéristiques principales d'un jeu de données. Elle permet de découvrir des tendances, des motifs, des relations et d'identifier d'éventuels problèmes.
Statistiques descriptives : Ce sont des mesures qui résument les caractéristiques fondamentales d'un jeu de données.
- Mesures de tendance centrale :
- Moyenne () : Somme de toutes les valeurs divisée par le nombre de valeurs.
- Médiane : La valeur centrale d'un ensemble de données triées. 50% des données sont inférieures, 50% sont supérieures. Moins sensible aux valeurs aberrantes que la moyenne.
- Mode : La valeur la plus fréquente dans un ensemble de données.
- Mesures de dispersion :
- Étendue : Différence entre la valeur maximale et minimale.
- Variance () et écart-type () : Mesurent la dispersion des données autour de la moyenne. Un écart-type élevé indique que les points de données sont très éloignés de la moyenne.
- Quartiles et IQR (InterQuartile Range) : Divisent les données en quatre parties égales. L'IQR est la différence entre le 3ème et le 1er quartile, représentant l'étendue des 50% du milieu des données.
Identification de tendances et de motifs : L'AED aide à répondre à des questions comme :
- Quelle est la distribution des âges de mes clients ? (La plupart sont-ils jeunes, âgés, ou y a-t-il un mélange ?)
- Y a-t-il une corrélation entre le montant des achats et la ville du client ?
- Quelles sont les valeurs les plus fréquentes dans une colonne ?
- Y a-t-il des pics ou des creux saisonniers dans les ventes ?
Outils simples (tableurs) : Pour des analyses exploratoires de base, les tableurs comme Excel, LibreOffice Calc ou Google Sheets sont très efficaces :
- Calcul des statistiques (fonctions
MOYENNE,MEDIANE,MODE,ECARTYPE). - Tableaux croisés dynamiques pour agréger et résumer les données.
- Fonctions de tri et de filtre pour explorer des sous-ensembles de données.
Visualisation des données
La visualisation des données est l'art de représenter les informations de manière graphique. C'est un outil puissant pour explorer les données, communiquer des résultats et aider à la prise de décision.
Choix du type de graphique : Le choix du bon type de graphique dépend du message que vous voulez faire passer et du type de données.
- Histogramme : Pour montrer la distribution d'une variable numérique (fréquence des valeurs par intervalles).
- Exemple : Distribution des âges des clients.
- Diagramme à barres (ou en colonnes) : Pour comparer des catégories ou des quantités discrètes.
- Exemple : Nombre de ventes par produit, nombre de clients par ville.
- Diagramme circulaire (camembert) : Pour montrer les proportions d'un tout (attention à ne pas avoir trop de catégories).
- Exemple : Répartition des ventes par catégorie de produit (si peu de catégories).
- Graphique en courbes : Pour montrer l'évolution d'une variable dans le temps ou l'ordre.
- Exemple : Évolution du chiffre d'affaires mensuel.
- Nuage de points (scatter plot) : Pour montrer la relation entre deux variables numériques.
- Exemple : Relation entre l'âge et le montant d'achat (pour voir s'il y a une corrélation).
- Boîtes à moustaches (box plot) : Pour visualiser la distribution d'une variable numérique, y compris la médiane, les quartiles et les valeurs aberrantes.
- Exemple : Comparaison de la distribution des salaires entre différents départements.
Interprétation des graphiques : Un graphique n'est utile que si vous pouvez l'interpréter correctement :
- Regardez les titres et les étiquettes des axes : Que représente chaque élément ?
- Identifiez les tendances : Y a-t-il une augmentation, une diminution, une saisonnalité ?
- Repérez les valeurs extrêmes ou aberrantes : Y a-t-il des points qui sortent de l'ordinaire ?
- Comparez les catégories : Quelles sont les différences ou les similitudes ?
- Cherchez des relations : Les variables sont-elles liées ?
Outils de visualisation :
- Tableurs : Excel, Google Sheets, LibreOffice Calc permettent de créer des graphiques de base à partir de vos données.
- Bibliothèques de programmation :
- Python :
Matplotlib,Seaborn,Plotly,Bokehsont très populaires pour créer des visualisations avancées et personnalisées. - R :
ggplot2est une référence.
- Python :
- Outils de Business Intelligence (BI) : Tableau, Power BI, Qlik Sense pour des tableaux de bord interactifs.
Éthique et protection des données
Avec la quantité croissante de données collectées et traitées, les questions d'éthique et de protection des données sont devenues primordiales.
RGPD (Règlement Général sur la Protection des Données) et données personnelles :
- Le RGPD est une réglementation de l'Union européenne entrée en vigueur en 2018. Elle vise à renforcer et unifier la protection des données pour les individus au sein de l'UE.
- Une donnée personnelle est toute information se rapportant à une personne physique identifiée ou identifiable.
- Exemples : Nom, adresse, numéro de téléphone, adresse IP, numéro de sécurité sociale, données de localisation, données biométriques, données génétiques.
- Les principes clés du RGPD incluent :
- Licéité, loyauté, transparence : Les données doivent être traitées de manière légale, équitable et transparente.
- Limitation des finalités : Les données doivent être collectées pour des finalités déterminées, explicites et légitimes.
- Minimisation des données : Seules les données strictement nécessaires doivent être collectées.
- Exactitude : Les données doivent être exactes et tenues à jour.
- Limitation de la conservation : Les données ne doivent pas être conservées plus longtemps que nécessaire.
- Intégrité et confidentialité : Les données doivent être protégées contre le traitement non autorisé ou illicite, et contre la perte, la destruction ou les dommages accidentels.
- Responsabilité : Le responsable du traitement est responsable du respect de ces principes.
Anonymisation et pseudonymisation : Ce sont des techniques pour protéger l'identité des personnes dans les jeux de données.
- Anonymisation : Processus irréversible de suppression de toute information permettant d'identifier directement ou indirectement une personne. Une fois anonymisées, les données ne sont plus considérées comme des données personnelles et ne sont plus soumises au RGPD.
- Exemple : Supprimer complètement les noms, adresses et dates de naissance.
- Pseudonymisation : Processus de traitement de données personnelles de telle manière qu'elles ne puissent plus être attribuées à une personne spécifique sans avoir recours à des informations supplémentaires. Ces informations supplémentaires sont conservées séparément et soumises à des mesures techniques et organisationnelles pour garantir la non-attribution à une personne physique identifiée ou identifiable. Les données pseudonymisées restent des données personnelles et sont soumises au RGPD.
- Exemple : Remplacer les noms par des identifiants alphanumériques aléatoires (
Client_XYZ,Commande_123) tout en conservant la table de correspondance séparément.
- Exemple : Remplacer les noms par des identifiants alphanumériques aléatoires (
Responsabilité numérique : La responsabilité numérique englobe les aspects éthiques et légaux de l'utilisation des technologies numériques et des données.
- Transparence : Informer les utilisateurs sur la manière dont leurs données sont collectées, utilisées et stockées.
- Consentement : Obtenir le consentement éclairé des individus avant de collecter et traiter leurs données.
- Sécurité : Mettre en place des mesures techniques et organisationnelles robustes pour protéger les données contre les accès non autorisés, les fuites ou les cyberattaques.
- Non-discrimination : S'assurer que l'utilisation des données et des algorithmes ne conduit pas à des discriminations ou des biais.
- Respect de la vie privée : Aller au-delà de la simple conformité légale pour adopter une approche proactive de protection de la vie privée des individus.
Traiter les données avec éthique et responsabilité est une compétence aussi importante que les aspects techniques de leur manipulation.
Après la lecture
Passe à la pratique avec deux blocs bien visibles
Une fois le cours lu, ouvre soit le quiz pour vérifier la compréhension, soit les flashcards pour mémoriser les idées importantes. Les deux s'ouvrent dans une fenêtre dédiée.
Suite naturelle
Tu veux aller plus loin que l'article ?
Retrouve le même chapitre dans Wilo avec la suite des questions, la répétition espacée, les corrigés complets et une progression suivie dans le temps.