Data Mining

John Samuel
CPE Lyon

Année: 2025-2026
Courriel: john.samuel@cpe.fr

Creative Commons License

Data Mining

Objectifs

1.1. Cycle de vie des données

Cycle de vie des données

  1. Données : Collecte, stockage, et gestion initiale des données.
  2. Connaissances : Extraction de signification à partir des données, identification de modèles et de tendances.
  3. Perspectives : Interprétation des connaissances pour obtenir des insights exploitables.
  4. Actions : Prise de décisions et mise en œuvre de stratégies basées sur les perspectives obtenues.
Data lifecycle diagram
Cycle de vie des données

1.1. Cycle de vie des données

1.1. Des données à la connaissance

Ce processus formalise la transformation des données en informations, puis en connaissances mobilisables pour la décision.

Data analysis steps
Des données à la connaissance

1.1. Cycle de vie des données

1.1. Des données à la connaissance

  1. Acquisition de données
  2. Extraction de données
  3. Nettoyage de données
  4. Transformation de données
  5. Stockage de données
  6. Modélisation de l'analyse des données
  7. Analyses de données
  8. Visualisation de données

1.1. Cycle de vie des données

1.1.1.1. Acquisition de données

Collecte initiale de données provenant de diverses sources.

La méthode 5W1H (Qui, Quoi, Où, Quand, Pourquoi, Comment) est essentielle pour structurer cette étape : elle permet de définir précisément la source, la nature, le lieu, le moment, la raison et la méthode de collecte des données.

Cash register Electronic temperature sensor Social media

1.1. Cycle de vie des données

1.1.1.2. ETL (Extraction Transformation, Loading)

Processus structuré d’intégration qui extrait, transforme et charge les données pour assurer leur qualité, cohérence et disponibilité analytique.

ETL - Extract Transform Load
ETL (Extraction, Transformation and Loading)

1.1. Cycle de vie des données

1.1.1.2. ETL (Extraction Transformation, Loading)

  1. Extraction de données
  2. Nettoyage de données
  3. Transformation de données
  4. Chargement des données dans les entrepôts de données

1.1. Cycle de vie des données

1.1.1.3. Analyses de données

Exploration approfondie des données pour identifier des tendances significatives et des insights pertinents.

  • Utilisation de tableurs tels que Microsoft Excel ou Google Sheets.
  • Fonctionnalités clés : tri, filtrage, formules, graphiques, facilitant l'analyse approfondie.
OpenOffice Calc spreadsheet
1.1.3. Analyses de données

1.1. Cycle de vie des données

1.1.1.3. Analyses de données (Tableur)

1.1. Cycle de vie des données

1.1.1.3. Analyses de données (Tableur: formules)

1.1. Cycle de vie des données

1.1.1.4. Visualisation de données

Transformation des données en représentations graphiques claires et informatives. Par exemple, graphiques, tableaux de bord, cartes pour faciliter la compréhension visuelle.

Object detection bounding boxes Eye tracking heat map

1.1. Cycle de vie des données

1.1.1.4. Visualisation de données

World temperatures comparison 1880s and 1980s
Thermal counter visualization

1.2. Acquisition et stockage des données

L'acquisition de données [Lenzerini 2002][Dong 2013]

  1. Questionnaires: questionnaires face à face, questionnaires en ligne
  2. Capteurs1
    • Température, pression, humidité
    • Acoustique, navigation
    • Proximité, capteurs de présence
  3. Réseau sociaux
  4. Vidéo de surveillance
  5. Web
  6. Enregistrement
  1. https://en.wikipedia.org/wiki/List_of_sensors

1.2. Acquisition et stockage des données

1.2.1. Formats de stockage de données

1.2. Acquisition et stockage des données

1.2.1. Formats de stockage de données: JSON

Format léger et lisible par l'homme pour représenter et échanger des données et une structure basée sur des paires clé-valeur, adaptée pour les objets complexes et les listes.

[
  {
    "languageLabel": "ENIAC coding system",
    "year": "1943"
  },
  {
    "languageLabel": "ENIAC Short Code",
    "year": "1946"
  },
  {
    "languageLabel": "Von Neumann and Goldstine graphing system",
    "year": "1946"
  }
]			

1.2. Acquisition et stockage des données

1.2.1. Formats de stockage de données: XML

Langage de balisage polyvalent pour représenter et structurer des données de manière lisible par l'homme et la machine. XML supporte la représentation de données complexes avec des schémas définissables.

<?xml version="1.0" encoding="UTF-8"?>
<root>
   <element>
      <languageLabel>ENIAC coding system</languageLabel>
      <year>1943</year>
   </element>
   <element>
      <languageLabel>ENIAC Short Code</languageLabel>
      <year>1946</year>
   </element>
   <element>
      <languageLabel>Von Neumann and Goldstine graphing system</languageLabel>
      <year>1946</year>
   </element>
</root>
			

1.2. Acquisition et stockage des données

1.2.1. Formats de stockage de données: CSV

languageLabel,year
ENIAC coding system,1943
ENIAC Short Code,1946
Von Neumann and Goldstine graphing system,1946
			

1.2. Acquisition et stockage des données

1.2.2 Types de stockage des données

On distingue des données structurées, semi-structurées et non structurées, un cadre qui guide l’organisation, l’accès et les choix de traitement.

  • Structurées : schéma fixe, tables relationnelles, faciles à requêter.
  • Semi-structurées : schéma souple avec balises/champs (JSON, XML).
  • Non structurées : texte, images, audio/vidéo sans schéma explicite.
Data representation - Unstructured vs Structured vs Semi-structured
Non structuré vs. Structuré vs. Semi-structuré

1.2. Acquisition et stockage des données

1.2.2 Types de stockage des données

Trois familles selon le degré de structuration :

  1. Structurées : bases de données relationnelles, bases de données orientées objet (ex. MariaDB, PostgreSQL).
  2. Non structurées : systèmes de fichiers, collections de documents, CMS.
  3. Semi-structurées : JSON/XML, bases NoSQL (ex. MongoDB, CouchDB).

1.2. Acquisition et stockage des données

1.2.3.1. Propriétés ACID1

Cadre garantissant la fiabilité des transactions.

  1. https://fr.wikipedia.org/wiki/Propri%C3%A9t%C3%A9s_ACID

1.2. Acquisition et stockage des données

1.2.3.1. Propriétés ACID

Ces propriétés garantissent la fiabilité et la cohérence des transactions dans les bases de données.

1.2. Acquisition et stockage des données

1.2.3.2 Types de bases de données

1.2. Acquisition et stockage des données

1.2.3.3. NoSQL

Théorème CAP1

Dans un système distribué, on ne peut pas garantir simultanément ces trois propriétés.

Exemple : lors d'une coupure réseau, un service peut choisir de rester disponible mais retourner une donnée légèrement décalée.

1.2. Acquisition et stockage des données

1.2.3.3. NoSQL

Compromis sur la cohérence

  • Cohérence parfois relâchée pour d’autres priorités.
  • Souvent contre disponibilité et latence plus faibles.

Priorité à la disponibilité et à la rapidité

  • Disponibilité et rapidité privilégiées.
  • Scalabilité horizontale et performances élevées.

1.2. Acquisition et stockage des données

1.2.3.3. NoSQL : BASE

Le modèle BASE privilégie la disponibilité et la réactivité, au prix d’une cohérence immédiate.

Exemple : un “j’aime” sur un réseau social apparaît d’abord localement, puis se propage aux autres serveurs.

1.2. Acquisition et stockage des données

1.2.3.3. Types de bases de données NoSQL

Column data store
Stockage en colonnes
Key-Value data store
Clé‑valeur

1.2. Acquisition et stockage des données

1.2.3.3. Types de bases de données NoSQL

BaseX XML database GUI
Documents (XML)
Graph database property graph
Graphe (property graph)

1.2. Acquisition et stockage des données

1.2.3.3. Types de bases de données NoSQL

1.2. Acquisition et stockage des données

Base de données relationnelles

1.2. Acquisition et stockage des données

Exemple: un tableau dans une base de données relationnelles

num languageLabel year
1 ENIAC coding system 1943
2 ENIAC Short Code 1946
3 Von Neumann and Goldstine graphing system 1946

1.2. Acquisition et stockage des données

NoSQL: base de données orientée colonnes

Exemple : une base orientée colonnes (p. ex. Cassandra, HBase) pour des mesures de capteurs horodatées, où l’on interroge souvent un intervalle de temps sur quelques colonnes.

1.2. Acquisition et stockage des données

Exemple: base de données orientée colonnes

ENIAC coding system:1; ENIAC Short Code:2 Von Neumann and Goldstine graphing system:3

1943:1; 1946:2; 1946:3
			

1.2. Acquisition et stockage des données

NoSQL : base de données orientée documents

Stockage par documents (JSON/BSON) regroupant des données liées, avec schéma flexible.

Avantage : adaptation rapide aux données semi-structurées ou évolutives.

  {
    "languageLabel": "ENIAC coding system",
    "year": "1943"
  }
			

Exemples : MongoDB, CouchDB sont des exemples de bases de données NoSQL orientées documents.

1.2. Acquisition et stockage des données

Exemple: base de données orientée clé-valeur

Une base clé-valeur stocke des paires clé-valeur avec des clés uniques (simples ou complexes). Très flexible, elle excelle en lecture/écriture simples et en accès rapide par clé, idéale pour des données simples et non structurées.

identifiant languageLabel,year
p1 ENIAC coding system,1943
p2 ENIAC Short Code,1946

Exemples : Redis, Amazon DynamoDB sont des exemples de bases de données NoSQL orientées clé-valeur.

1.2. Acquisition et stockage des données

NoSQL: base de données orientée graphe

1.2. Acquisition et stockage des données

Exemple: base de données orientée graphe

Deux types de nœuds : langage de programmation et année. L’arête year relie un langage à l’année de sa première version.

Graph NoSQL database
base de données orientée graphe

1.3. Extraction et intégration des données

1.3.1. Techniques d'extraction des données

1.3. Extraction et intégration des données

1.3.2. Interfaces d'interrogation

1.3. Extraction et intégration des données

1.3.3. Crawlers pour les pages web

Les crawlers, également appelés robots d'indexation, sont des programmes qui parcourent et analysent automatiquement les pages web pour collecter des informations. Les crawlers naviguent de page en page en suivant les liens, extrayant des données pertinentes telles que le contenu, les liens hypertextes, les balises méta, etc.

Web crawler architecture
Web crawlers : naviguer dans l'ensemble en utilisant des hyperliens

1.3. Extraction et intégration des données

1.3.4. Interface de programmation d'applications (API)

  • Opérations Web (CRUD) pour manipuler les ressources gérées en externe
    • Create: créer
    • Read: lire
    • Update: mettre à jour
    • Delete: supprimer
  • Requiert que les programmeurs développent des wrappers pour l'intégration des services web
API programming interface
API (Interface de programmation)

1.3. Extraction et intégration des données

1.3.4. Interface de programmation d'applications (API)

import requests
url = "https://api.github.com/users/johnsamuelwrites"

response = requests.get(url)
print(response.json())

1.4. Prétraitement des données

1.4.1. Nettoyage de données

Identifie et corrige les anomalies pour garantir la qualité des données

1.4. Prétraitement des données

1.4.1.1. Erreurs de syntaxe

1.4. Prétraitement des données

1.4.1.2. Erreurs sémantiques [Abedjan 2016]

1.4. Prétraitement des données

1.4.1.3. Erreurs de couverture

  • Valeur Manquante - La non-présence d'une valeur dans une colonne où une valeur est attendue. Exemple : L'absence de données dans la colonne "Prix" pour certains produits.
  • Donnée Manquante - L'absence complète d'une entrée ou d'un enregistrement dans la base de données. Exemple : L'absence totale des détails d'un client dans la base de clients.
Pandas DataFrame dropna documentation
Exemple: Pandas

1.4. Prétraitement des données

1.4.2.1. Traitement des erreurs syntaxiques

1.4. Prétraitement des données

1.4.2.1. Traitement des erreurs syntaxiques: XSD

<xs:schema attributeFormDefault="unqualified"
      elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="root" type="rootType"/>
  <xs:complexType name="elementType">
    <xs:sequence>
      <xs:element type="xs:string" name="languageLabel"/>
      <xs:element type="xs:short" name="year"/>
    </xs:sequence>
  </xs:complexType>
  <xs:complexType name="rootType">
    <xs:sequence>
      <xs:element type="elementType" name="element" maxOccurs="unbounded" minOccurs="0"/>
    </xs:sequence>
  </xs:complexType>
</xs:schema>
			

1.4. Prétraitement des données

1.4.2.2. Traitement des erreurs sémantiques

L'élimination des doublons implique la suppression d'enregistrements redondants en utilisant des contraintes d'intégrité, comme les dépendances fonctionnelles.

Exemple : Identifier les colonnes pertinentes qui définissent la duplication (par exemple, 'Colonne1', 'Colonne2'). Appliquer la suppression des doublons en conservant uniquement la première occurrence.

1.4. Prétraitement des données

1.4.2.2. Traitement des erreurs sémantiques

num languageLabel year
1 ENIAC coding system 1943

\({num}\rightarrow{languageLabel}\)

\({languageLabel}\rightarrow{year}\)

\({num}\rightarrow{year}\)

1.4. Prétraitement des données

1.4.2.3. Traitement des erreurs de couverture

1.4. Prétraitement des données

1.4.2.4. Administrateurs et traitement des erreurs

1.5. Transformation des données

1.5.1 Langages de programmation

1.6. ETL

1.6.1. ETL (Extraction Transformation and Loading)

  1. Extraction des Données : Récupération de données depuis différentes sources, qu'elles soient internes ou externes à l'organisation.
  2. Nettoyage des Données : Identification et correction des erreurs, des incohérences et des duplications dans les données extraites.
  3. Transformation des Données : Modification des données extraites pour les rendre conformes aux besoins et aux standards de l'entrepôt de données.
  4. Chargement des Données dans les Entrepôts de Données : Intégration des données nettoyées et transformées dans l'entrepôt de données, prêtes pour l'analyse.

1.6. ETL

1.6.2. ETL: d'une base de données à l'autre

Déplacer efficacement les données des sources, telles que bases de données internes/externes et services web, vers les destinations, incluant entrepôts de données d'entreprise et entrepôts web, pour faciliter l'analyse.

1.6. ETL

1.6.2.1. Analyse des données multidimensionnelles

Exploration des données selon plusieurs dimensions pour une compréhension approfondie. L'approche 5W1H permet de mieux contextualiser l'analyse : Qui (Client), Quoi (Produit), Où (Lieu), Quand (Temps), Pourquoi (Promotion), Comment (Canal de vente).

Dimensions :Les aspects sous-jacents des données qui sont analysés.

Faits : Les mesures quantitatives associées aux dimensions, fournissant les données à analyser.

1.6. ETL

1.6.2.1. Analyse des données multidimensionnelles

Dimensions

Faits

1.6. ETL

1.6.2.2. Modèle de données en étoile

Le modèle de données en étoile est une architecture de base de données conçue spécifiquement pour faciliter l'analyse et le reporting dans les entrepôts de données.

1.6. ETL

1.6.2.2. Modèle de données en étoile

1.6. ETL

1.6.2.2. Modèle de données en étoile

Star schema example
Modèle de données en étoile

1.6. ETL

1.6.2.3. Cubes ou hypercube de données

Dans le modèle de données en étoile, les cubes de données, également appelés hypercubes, sont des structures multidimensionnelles qui permettent une analyse approfondie.

1.6. ETL

1.6.2.3. Cubes ou hypercube de données

Avantages

  • Facilite une analyse multidimensionnelle approfondie.
  • Permet des requêtes ad hoc pour répondre à des questions spécifiques.
OLAP cube - Star schema data model
Modèle de données en étoile

1.6. ETL

1.6.2.3. Cubes ou hypercube de données

Opérations du Cube OLAP

Cubes de Données pour le Traitement Analytique en Ligne (OLAP) : - Les cubes de données sont essentiels pour les systèmes OLAP, facilitant l'analyse multidimensionnelle.Les opérations OLAP permettent aux utilisateurs d'interagir avec les cubes pour obtenir des analyses spécifiques.

  1. Slice (Tranche) - Extraction d'une tranche d'informations le long d'une dimension spécifique.
  2. Dice (Bloc) - Extraction d'un bloc de données, une opération plus générale que le slicing, permettant de spécifier plusieurs dimensions.
  3. Roll-up (Relevé) - Le Roll-up est une opération essentielle dans le traitement analytique en ligne (OLAP) pour agréger les données vers des niveaux supérieurs d'une hiérarchie dimensionnelle.

1.6. ETL

1.6.2.3. Cubes ou hypercube de données

  1. Drill Up (Remonter) - Synthèse des informations en agrégeant vers des niveaux supérieurs d'une dimension.
  2. Drill Down (Descendre) - Opération inverse du drill-up, permettant d'explorer des niveaux inférieurs d'une dimension.
  3. Pivot (Pivoter) - Sélection du couple de dimensions qui formera le résultat de la requête, offrant une vue alternative.
OLAP cube - Star schema data model
Modèle de données en étoile

1.6. ETL

1.6.2.4. Modèle de données en flocon

Le modèle de données en flocon est une variante du modèle en étoile, conçu pour réduire la redondance en normalisant les dimensions.

1.6. ETL

1.6.2.4. Modèle de données en flocon

Avantages

  • Réduit l'espace de stockage en normalisant les données.
  • Utile lorsque la redondance des données doit être minimisée.
Snowflake schema example
Modèle de données en flocon

1.7. Analyse des données

Activités d'analyse des données

  1. Récupération des Valeurs : Extraire les données nécessaires à partir de sources diverses pour l'analyse.
  2. Filtrer : Sélectionner des données spécifiques en fonction de critères prédéfinis pour réduire le volume de données.
  3. Calculer les Valeurs Dérivées : Créer de nouvelles variables en effectuant des calculs basés sur les valeurs existantes.
  4. Trouver l'Extremum : Identifier les valeurs maximales et minimales dans un ensemble de données.
  5. Trier : Organiser les données dans un ordre spécifique, souvent croissant ou décroissant.
  6. Déterminer la Limite : Établir des seuils ou des limites pour définir des critères spécifiques.

1.7. Analyse des données

Activités d'analyse des données

  1. Caractériser la Distribution : Analyser la répartition des valeurs dans un ensemble de données à l'aide de mesures statistiques.
  2. Trouver des Anomalies : Identifier des valeurs aberrantes ou des schémas inhabituels dans les données.
  3. Cluster : Regrouper les données similaires pour découvrir des structures ou des tendances.
  4. Corréler : Examiner les relations entre différentes variables pour déterminer les liens.
  5. Contextualisation : Comprendre les données dans leur contexte global pour une interprétation plus approfondie.
  1. https://en.wikipedia.org/wiki/Data_analysis

1.8. Visualisation des données

1.8.1.Les variables visuelles [Jacques Bertin]

Variables visuelles essentielles pour représenter les données.

  1. Position : placement spatial.
  2. Taille : magnitude.
  3. Forme : catégorie.
  4. Valeur : intensité/échelle.
  5. Couleur : groupe ou mesure.
  6. Orientation : direction.
  7. Texture : variation de surface.

1.8. Visualisation des données

1.8.2. Visualisation des données : Exemples

  1. Séries Temporelles : Représentation graphique de données en fonction du temps pour analyser les tendances et les fluctuations.
  2. Classement : Affichage ordonné des éléments en fonction d'une mesure spécifique pour identifier les leaders ou les suiveurs.
  3. Partie à l'Ensemble : Illustration de la contribution relative des parties à un ensemble total.
  4. Écart : Représentation graphique des différences entre des valeurs, souvent utilisée pour identifier des variations significatives.
  5. Triage : Organisation des données pour révéler des modèles ou des structures spécifiques.
  6. Distribution des Fréquences : Visualisation de la répartition des valeurs dans un ensemble de données, souvent à l'aide d'histogrammes.

1.8. Visualisation des données

1.8.2. Visualisation des données : Exemples

  1. Corrélation : Analyse visuelle des relations entre deux variables pour identifier des tendances ou des dépendances.
  2. Comparaison Nominale : Visualisation des différences entre catégories sans mesure quantitative.
  3. Géographique ou Géospatial : Utilisation de cartes pour représenter des données en fonction de leur emplacement géographique.

Référence: https://en.wikipedia.org/wiki/Data_visualization

1.8. Visualisation des données

1.8.2. Visualisation des données: Exemples

  1. Diagramme en Bâtons (Comparaison Nominale) : Utilisé pour comparer des catégories sans mesure quantitative, représentant des données discrètes.
  2. Diagramme Circulaire (Partie à l'Ensemble) : Illustration de la contribution relative des parties à un ensemble total, utile pour représenter des pourcentages.
  3. Histogramme (Distribution des Fréquences) : Visualisation graphique de la répartition des valeurs dans un ensemble de données, utilisé pour comprendre la distribution.
  4. Nuage de Points (Corrélation) : Représentation de la corrélation entre deux variables, chaque point représentant une paire de valeurs.
  5. Réseaux : Illustration des relations complexes entre entités interconnectées.

1.8. Visualisation des données

1.8.2. Visualisation des données: Exemples

  1. Graphique Linéaire (Séries Temporelles) : Représentation des données en fonction du temps pour analyser les tendances et les variations.
  2. Arborescence : Visualisation hiérarchique des relations entre différentes catégories ou niveaux.
  3. Diagramme de Gantt : Utilisé pour planifier et suivre l'avancement des tâches sur une échelle de temps.
  4. Carte Thermique/Heatmap : Utilisation de couleurs pour représenter des données sur une matrice, mettant en évidence les zones de concentration.
  1. https://fr.wikipedia.org/wiki/Repr%C3%A9sentation_graphique_de_donn%C3%A9es

1.8. Visualisation des données

Diagramme circulaire

Pie chart visualization Flower image for color analysis

1.8. Visualisation des données

Programming language paradigms bubble diagram
Les paradigmes du langage de programmation (diagramme à bulles)

1.8. Visualisation des données

Histropedia programming languages timeline
Historique des langages de programmation (Histropedia)

1.8. Visualisation des données

Wikidata Query Service programming languages influence
Diagramme d'influence des langages de programmation

1.8. Visualisation des données

k couleurs prédominantes

K-means clustering visualization Flower image for K-means color analysis

1.8. Visualisation des données

Diagrammes de dispersion RGB (Comparaison)

K-means minibatch comparison Flower image for color analysis

Références

Articles de recherche

Références

Wikipedia

Références

Couleurs

Images