5.6. Analyse exploratoire des données avec Matplotlib et Seaborn : visualisation de données catégorielles
L'analyse exploratoire des données (EDA) est une étape cruciale dans le cycle de vie des projets de Machine Learning et de Deep Learning. Il permet aux data scientists de mieux comprendre les modèles, les relations et les anomalies présentes dans les données. La visualisation des données est un outil puissant dans EDA, et des bibliothèques comme Matplotlib et Seaborn sont essentielles pour créer des représentations graphiques facilitant l'interprétation des données.
Visualisation des données catégorielles
Les données catégorielles sont des variables qui contiennent des étiquettes au lieu de valeurs numériques. La visualisation de ces données est essentielle pour comprendre la répartition et les relations entre les différentes catégories. Matplotlib et Seaborn proposent plusieurs options pour visualiser efficacement les données catégorielles.
Graphiques à barres
Le graphique à barres est l'une des visualisations les plus courantes pour les données catégorielles. Il affiche la fréquence ou la proportion de chaque catégorie, facilitant ainsi leur comparaison. Dans Matplotlib, vous pouvez créer un graphique à barres à l'aide de la fonction bar()
, tandis que dans Seaborn, la fonction countplot()
est un moyen pratique de créer des graphiques à barres qui montrent le nombre d'observations dans chaque catégorie.
importer matplotlib.pyplot en tant que plt
importer Seaborn en tant que SNS
# Exemple de données catégorielles
catégories = ['Catégorie A', 'Catégorie B', 'Catégorie C']
valeurs = [10, 20, 30]
# Graphique à barres avec Matplotlib
plt.bar (catégories, valeurs)
plt.title('Graphique à barres avec Matplotlib')
plt.xlabel('Catégories')
plt.ylabel('Valeurs')
plt.show()
# Graphique à barres avec Seaborn
sns.countplot(x='catégorie', data=df)
plt.title('Graphique à barres avec Seaborn')
plt.xlabel('Catégories')
plt.ylabel('Count')
plt.show()
Boxplots
Les boxplots sont excellents pour visualiser la distribution de données numériques regroupées par catégories. Ils affichent la médiane, les quartiles et les valeurs aberrantes, permettant une compréhension rapide de la variabilité des données. Dans Matplotlib, vous pouvez utiliser la fonction boxplot()
, et dans Seaborn, la fonction boxplot()
est également disponible avec des fonctionnalités supplémentaires.
# Boxplot avec Matplotlib
plt.boxplot([category_data_A,category_data_B,category_data_C])
plt.title('Boxplot avec Matplotlib')
plt.xlabel('Catégories')
plt.ylabel('Valeurs')
plt.xticks([1, 2, 3], catégories)
plt.show()
# Boxplot avec Seaborn
sns.boxplot(x='catégorie', y='valeur', data=df)
plt.title('Boxplot avec Seaborn')
plt.xlabel('Catégories')
plt.ylabel('Valeurs')
plt.show()
Intrigues de violon
Les tracés en violon combinent les fonctionnalités des diagrammes en boîte et des diagrammes de densité à noyau. Ils fournissent une vue plus riche de la distribution des données en montrant la densité de probabilité à différentes valeurs. Seaborn a une fonction violinplot()
dédiée pour créer ces tracés.
# Intrigue de violon avec Seaborn
sns.violinplot(x='catégorie', y='valeur', data=df)
plt.title('Complot de violon avec Seaborn')
plt.xlabel('Catégories')
plt.ylabel('Valeurs')
plt.show()
Plots d'essaims
Les diagrammes en essaim sont une alternative aux diagrammes de points qui évitent les points qui se chevauchent, ce qui facilite la visualisation de la distribution et de la quantité de données dans chaque catégorie. Dans Seaborn, vous pouvez créer un essaim avec la fonction swarmplot()
.
# Parcelle d'essaim avec Seaborn
sns.swarmplot(x='catégorie', y='valeur', data=df)
plt.title('Swarm Plot avec Seaborn')
plt.xlabel('Catégories')
plt.ylabel('Valeurs')
plt.show()
Compter les tracés
Les tracés de décompte sont une forme de graphique à barres qui montre le nombre d'observations dans chaque catégorie. Dans Seaborn, la fonction countplot()
est utilisée pour créer ces tracés rapidement et intuitivement.
# Compter l'intrigue avec Seaborn
sns.countplot(x='catégorie', data=df)
plt.title('Compter le tracé avec Seaborn')
plt.xlabel('Catégories')
plt.ylabel('Count')
plt.show()
Personnalisation et style des graphiques
Matplotlib et Seaborn permettent des personnalisations étendues des graphiques. Vous pouvez ajuster les couleurs, les styles de lignes, les marqueurs et bien d’autres aspects pour améliorer la présentation et la lisibilité des graphiques. Seaborn propose également des styles de thèmes qui peuvent être appliqués à l'échelle mondiale pour un look cohérent et professionnel.
# Personnalisation des tracés avec Matplotlib
plt.bar(catégories, valeurs, couleur='skyblue')
plt.title('Tracé personnalisé avec Matplotlib')
plt.xlabel('Catégories')
plt.ylabel('Valeurs')
# Modification du style et de la couleur de la police du titre
plt.title('Graphique personnalisé', taille de police=14, couleur='rouge foncé')
plt.show()
# Application de styles de thèmeà Seaborn
sns.set_theme(style='whitegrid')
sns.countplot(x='category', data=df, palette='pastel')
plt.title('Graphique stylisé du thème Seaborn')
plt.xlabel('Catégories')
plt.ylabel('Count')
plt.show()
Conclusion
La visualisation des données catégorielles est une étape essentielle de l'analyse exploratoire des données. Matplotlib et Seaborn sont deux bibliothèques puissantes qui offrent un large éventail d'options pour créer des tracés informatifs et attrayants. En utilisant ces outils, vous pouvez obtenir des informations précieuses sur vos données et communiquer efficacement vos résultats.
En résumé, la capacité de visualiser et d'interpréter des données catégorielles est un aspect important du travail avec Python pour le Machine Learning et le Deep Learning. Une pratique continue avec ces bibliothèques et l'expérimentation de différents types de graphiques amélioreront vos compétences EDA et contribueront à garantir que vos analyses reposent sur une solide compréhension des données sous-jacentes.