Notes de cours : Exploration des données et Data Mining
Introduction
L’Exploratory Data Analysis (EDA) est une étape cruciale dans le processus de data
mining. Elle comble l’écart entre les données brutes et les informations exploitables.
L’EDA se concentre sur l’identification des motifs (patterns), la détection des anomalies et
la synthèse des caractéristiques clés du dataset, servant souvent de base pour choisir les
techniques de data mining appropriées.
Objectifs de l’EDA dans le Data Mining
1. Comprendre le Dataset
o Explorer les distributions des variables, les relations et la structure des
données.
Par exemple, votre dataset contient-il des valeurs numériques ou des
étiquettes catégoriques ? Comprendre ces caractéristiques influence les
choix de prétraitement et d’analyse.
2. Guider le Prétraitement
o Prendre des décisions sur le nettoyage, la transformation et la réduction du
dataset.
Par exemple, si une colonne contient de nombreuses valeurs manquantes,
vous pourriez décider d’imputer ces valeurs ou de supprimer la colonne.
3. Préparation à la Sélection du Modèle
o Identifier les caractéristiques ou les motifs qui suggèrent des algorithmes
potentiels.
Par exemple, une forte relation linéaire entre des variables pourrait indiquer
qu’une régression est appropriée.
Types de Variables et Leur Traitement
1. Variables Numériques
o Les variables numériques peuvent être continues (ex. : taille, poids) ou
discrètes (ex. : comptages).
o Des techniques comme la transformation logarithmique ou la
standardisation peuvent rendre les variables plus faciles à interpréter ou à
comparer.
Exemple : La standardisation implique de soustraire la moyenne et de diviser
par l’écart type.
2. Variables Catégoriques
o Les variables nominales n’ont pas d’ordre intrinsèque (ex. : couleurs), tandis
que les variables ordinales ont un ordre significatif (ex. : classements).
o Les méthodes d’encodage comme le one-hot encoding ou le label encoding
sont utilisées pour convertir ces variables en format numérique.
3. Variables Temporelles (Time-Series)
o Ces variables sont indexées par le temps et présentent souvent des
tendances ou des variations saisonnières.
o L’analyse des données temporelles nécessite un prétraitement spécifique,
comme le traitement des timestamps manquants.
4. Données Haute-Dimensionnalité
o Les données haute-dimensionnalité contiennent souvent des variables
redondantes ou non pertinentes.
o Des techniques comme le Principal Component Analysis (PCA) peuvent
simplifier ces données pour l’analyse.
Étapes de l’EDA
L’EDA implique une exploration systématique du dataset pour identifier les motifs et les
anomalies. Voici 15 étapes à considérer:
1. Aperçu du Dataset
o Objectif : Comprendre la structure, la taille et la nature des données.
o Détails : Commencez par inspecter les premières lignes (head()) et la
structure des données (str()) pour vérifier les noms des colonnes, les types
de données et la disposition générale.
o Outils : str(), glimpse(), dim(), colnames(), head(), tail().
2. Statistiques Résumées
o Objectif : Obtenir un aperçu des distributions et des plages des variables.
o Détails : Les statistiques résumées comme la moyenne, la médiane et la
plage peuvent révéler si les variables sont asymétriques ou contiennent des
valeurs extrêmes.
o Outils : summary(), Hmisc::describe(), skimr::skim().
3. Inspection des Types de Données
o Objectif : Identifier les variables numériques, catégoriques et temporelles.
o Détails : Les types de données orientent les décisions pour la visualisation
et le prétraitement. Les données numériques peuvent nécessiter une mise à
l’échelle, tandis que les données catégoriques doivent être encodées.
o Outils : sapply(data, class), dlookr::diagnose().
4. Analyse Univariée des Variables Numériques
o Objectif : Examiner les distributions, la tendance centrale et la dispersion.
o Détails : Les histogrammes montrent les formes de distribution, tandis que
les boxplots mettent en évidence les outliers.
o Outils : hist(), boxplot(), density().
5. Analyse Univariée des Variables Catégoriques
o Objectif : Analyser les fréquences et les proportions.
o Détails : Visualisez les fréquences des catégories à l’aide de diagrammes en
barres. Par exemple, un diagramme circulaire peut montrer la proportion des
différents types de clients.
o Outils : table(), ggplot2 (geom_bar()).
6. Nettoyage des Données et Inspection des Valeurs Manquantes
o Objectif : Détecter et visualiser les valeurs manquantes.
o Détails : Comprendre l’étendue des données manquantes. Si une colonne a
90 % de valeurs manquantes, elle pourrait ne pas être utile.
o Outils : [Link](), naniar::vis_miss(), mice.
7. Détection des Outliers
o Objectif : Identifier et gérer les valeurs extrêmes.
o Détails : Utilisez des boxplots pour détecter les outliers. Les points de levier
élevés en régression ou les clusters éloignés en classification peuvent
indiquer des anomalies.
o Outils : boxplot(), car::outlierTest(), Mahalanobis().
8. Analyse de Corrélation
o Objectif : Évaluer les relations entre les variables numériques.
o Détails : Une matrice de corrélation peut identifier des variables
linéairement reliées. Les corrélations élevées peuvent suggérer des
variables redondantes.
o Outils : cor(), corrplot.
9. Scatterplots pour les Relations
o Objectif : Visualiser les relations entre deux variables.
o Détails : Les scatterplots peuvent révéler des clusters ou des tendances.
Par exemple, un scatterplot entre l’âge et le revenu pourrait montrer que les
individus plus âgés gagnent davantage.
o Outils : plot(), ggplot2 (geom_point()).
10. Exploration des Relations Non Linéaires
o Objectif : Détecter les tendances et motifs non linéaires.
o Détails : Les relations non linéaires, comme les tendances quadratiques ou
exponentielles, nécessitent des approches de modélisation spécifiques.
o Outils : geom_smooth().
11. Analyse de l’Équilibre des Classes
o Objectif : Examiner les distributions dans les problèmes de classification.
o Détails : Pour les datasets déséquilibrés, visualisez la proportion de chaque
classe avec des diagrammes en barres.
o Outils : table(), ggplot2 (geom_bar()).
12. Feature Engineering et Transformations
o Objectif : Identifier la nécessité de la mise à l’échelle, de l’encodage ou des
transformations.
o Détails : Par exemple, appliquer une transformation logarithmique à des
données asymétriques peut améliorer les performances du modèle.
o Outils : scale(), caret::preProcess().
13. Analyse de Réduction de Dimensionnalité
o Objectif : Explorer les motifs dans les données haute-dimensionnalité.
o Détails : Le PCA peut réduire le nombre de variables tout en conservant la
majorité des informations.
o Outils : prcomp().
14. Exploration des Séries Temporelles
o Objectif : Analyser les tendances et la saisonnalité dans les données
temporelles.
o Détails : Utilisez la décomposition des séries temporelles pour séparer les
composantes de tendance, de saisonnalité et résiduelle.
o Outils : forecast::decompose(), lubridate.
15. Rapports Automatisés d’EDA
o Objectif : Générer des résumés d’EDA complets et reproductibles.
o Détails : Des outils comme DataExplorer peuvent générer des rapports
automatiques, économisant du temps.
o Outils : DataExplorer::create_report(), inspectdf.
Exercice :
Explorez les outils R mentionnés dans ce cours en utilisant les données de votre projet du
cours sur la visualisation de données. L'objectif est de vous familiariser avec ces outils
d'exploration des données. Appuyez-vous sur des recherches en ligne pour approfondir
leur utilité et maximiser votre compréhension.