5.9. Analyse exploratoire des données avec Matplotlib et Seaborn : création de tracés linéaires pour les séries chronologiques
L'analyse exploratoire des données (EDA) est une étape fondamentale du processus d'apprentissage automatique et d'apprentissage profond. Il permet aux data scientists et aux analystes de mieux comprendre les tendances, les modèles et les relations au sein des données. En particulier, pour les séries chronologiques, l’EDA est cruciale pour comprendre comment les valeurs évoluent au fil du temps et identifier les comportements saisonniers ou les tendances à long terme.
Dans ce contexte, les bibliothèques Matplotlib et Seaborn en Python sont des outils puissants de visualisation de données. Les deux offrent une large gamme de types et de styles de graphiques qui peuvent être personnalisés pour répondre aux besoins spécifiques de toute analyse. Nous nous concentrerons sur la création de graphiques linéaires, particulièrement utiles pour visualiser des séries chronologiques.
Tracés linéaires avec Matplotlib
Matplotlib est une bibliothèque de traçage 2D en Python qui produit des figures de qualité publication dans une variété de formats d'impression et d'environnements interactifs sur toutes les plateformes. Les tracés linéaires avec Matplotlib sont créés à l'aide de la fonction plot()
, qui connecte les points de données aux lignes.
Pour commencer, vous devez importer la bibliothèque Matplotlib, puis préparer vos données de séries chronologiques. Les données peuvent se trouver dans n'importe quelle structure pouvant être convertie en listes ou tableaux Python, tels que des listes, des tableaux NumPy ou des Pandas DataFrames. Voici un exemple de base de la façon de créer un graphique linéaire simple :
importer matplotlib.pyplot en tant que plt
# Supposons que nous ayons deux listes : une pour le temps et une pour les valeurs
heure = ['2021-01-01', '2021-01-02', '2021-01-03', '2021-01-04']
valeurs = [10, 20, 15, 25]
plt.plot (heure, valeurs)
plt.xlabel('Heure')
plt.ylabel('Valeurs')
plt.title('Tracé linéaire de série chronologique simple')
plt.show()
Ce code produira un graphique linéaire de base, mais vous devrez souvent personnaliser le graphique pour le rendre plus informatif. Par exemple, vous souhaiterez peut-être formater les dates sur l'axe des X afin qu'elles soient plus lisibles, ou ajouter des marqueurs à chaque point de données pour les faire ressortir.
Personnalisation avec Matplotlib
La personnalisation du graphique linéaire peut inclure l'ajout d'une grille, la modification de la couleur de la ligne, l'ajout de marqueurs, la définition des limites des axes, etc. Voici quelques exemples de la façon dont vous pouvez personnaliser votre graphique linéaire :
plt.plot(heure, valeurs, couleur='vert', marqueur='o', linestyle='--')
plt.grid(Vrai)
plt.xlim('2021-01-01', '2021-01-04')
plt.ylim(0, 30)
Dans l'exemple ci-dessus, nous avons changé la couleur de la ligne en vert, ajouté des marqueurs circulaires à chaque point de données et utilisé une ligne pointillée. Nous activons également la grille et définissons les limites des axes x et y.
Graphiques linéaires avec Seaborn
Seaborn est une bibliothèque de visualisation de données basée sur Matplotlib qui offre une interface de haut niveau pour dessiner des graphiques statistiques attrayants. Pour les séries chronologiques, la fonction lineplot()
de Seaborn est une excellente option car elle offre des fonctionnalités supplémentaires telles que des intervalles de confiance calculés automatiquement.
Tout comme avec Matplotlib, vous devez importer la bibliothèque Seaborn et préparer vos données. Vous trouverez ci-dessous un exemple de création d'un graphique linéaire avec Seaborn :
importer Seaborn en tant que SNS
# En utilisant le même ensemble de données que l'exemple précédent
sns.lineplot(x=temps, y=valeurs)
plt.xlabel('Heure')
plt.ylabel('Valeurs')
plt.title('Graphique linéaire de séries chronologiques avec Seaborn')
plt.show()
Seaborn améliore automatiquement l'esthétique des graphiques et fournit une visualisation plus soignée avec moins de code. De plus, il permet une intégration facile avec Pandas DataFrames, ce qui est très utile lorsque vous travaillez avec des séries chronologiques.
Personnalisation avec Seaborn
La personnalisation des graphiques linéaires dans Seaborn est tout aussi simple que dans Matplotlib. Vous pouvez modifier la palette de couleurs, ajouter des titres, des étiquettes et bien plus encore. De plus, Seaborn fonctionne bien avec le contexte de style Matplotlib, vous permettant d'utiliser les commandes Matplotlib pour personnaliser davantage le tracé. Voici un exemple de personnalisation avec Seaborn :
sns.lineplot(x=temps, y=valeurs, couleur='violet', marqueur='s')
plt.grid(Vrai)
plt.xticks(rotation=45) # Faites pivoter les étiquettes de l'axe X pour une meilleure lisibilité
plt.tight_layout() #Ajuste automatiquement les paramètres de la sous-intrigue
Dans cet exemple, nous avons changé la couleur de la ligne en violet, ajouté des marqueurs carrés et fait pivoter les étiquettes de l'axe X pour améliorer la lisibilité. Utiliser tight_layout()
est une bonne pratique pour garantir que rien n'est coupé lors de l'enregistrement ou de l'affichage du graphique.
Conclusion
L'analyse exploratoire des données est une étape critique du processus d'apprentissage automatique et d'apprentissage profond, et la visualisation des données joue un rôle clé dans cette analyse. Les graphiques linéaires pour séries chronologiques sont un outil essentiel pour comprendre comment les données varient au fil du temps. Matplotlib et Seaborn sont des bibliothèques puissantes qui offrent des fonctionnalités robustes pour créer des tracés linéaires informatifs et personnalisés. En maîtrisant ces bibliothèques, vous pouvez extraire des informations précieuses de vos données et communiquer efficacement vos résultats.