Visualisation de données et communication de l'information
Programme
Dans ce chapitre nous allons voir:
- les principes généraux pour visualiser et communiquer ses analyses
- apprendre les méthodes visualisations à utiliser en fonction de nos données et du problème à traiter
- apprendre à raconter une histoire pour présenter son analyse
- apprendre à manipuler les principaux paquets pour la visualisation de données en python
Leçon : Principes généraux de data visualisation
Leçon en autonomie: pratique de la visualisation de données
Initiation à la visualisation de données
La visualisation de données est une composante indispensable de votre analyse exploratoire de données. Elle vous permettra souvent de visualiser les résultats des méthodes mathématiques d'exploration et également d'utiliser d'autres représentations de vos données afin de mieux les comprendre.
- Pour commencer, je vous invite à découvrir et explorer le site data-to-viz, qui constitue une excellente ressource pour apprendre à connaître les différents types de graphiques et dans quels cas les utiliser.
- Si vous êtes débutant, vous pouvez explorer les bases de la visualisation de données avec en apprenant les différents types de graphiques que vous pouvez réaliser avec matplotlib, la librairie de visualisation généralement utilisée par défaut en python.
- Si vous souhaitez découvrir des types de graphiques qui sortent un peu des 'classiques' vous pouvez explorer ce notebook qui en recense quelques exemples intéressants (mais loin d'être exhaustifs).
- Pour commencer à vous exercer, je vous conseille de suivre ce mini-cours de kaggle dédié à la visualisation, qui vous permettra de vous familiarisez avec ses principes appliqués et les appliquer avec le module python
seaborn
Pratiquer la visualisation de données
Pour réaliser des visualisations de données, l'offre actuelle fourmille d'outils différents, en fonction de vos besoins (réaliser de simples graphique à raconter une histoire en datastory telling), du public cible, des compétences des utilisateurs (programmeur ou non).
A titre d'exemple, certains outils proposent des interfaces graphiques assez développées comme Tableau software, QlickView, favorisant la prise en main mais étant assez limité dans leur versions gratuites. A contrario, de nombreux langages de programmation possèdent de nos jours des librairies avancées pour la visualisation de données : c'est le cas de python, R, javascript, ...
Dans ce cours, nous allons nous concentrer sur les paquets disponibles dans l'écosystème python. Ils sont suffisamment complets pour vous permettre de réaliser assez facilement du contenu pour vos projets.
Connaître les paquets python pour la visualisation de données
Voici un aperçu des librairies en python parmi les plus populaires, que vous pouvez retrouver dans cet article du blog towards datascience
Les principaux paquets pour la visualisation statique
Les deux librairies matplotlib
et seaborn
sont relativement incontournables concernant la visualisation de données (surtout lorsqu'elle sont structurées dans un format tabulaire), si vous ne les connaissez pas, je vous conseille d'aller faire suivre un tutoriel pour apprendre les bases de leurs utilisation :
matplotlib
, que nous avons vu plus tôt, est le paquet de référence en python, probablement le plus utilisé. Il vous permettra de réaliser une grande variété de visualisations de manière relativement flexible. Plusieurs autre paquets sont construits en s'appuyant sur lui.seaborn
est un module également très utilisé, en particulier pour les visualisations scientifiques. Il s'appuie sur matplotlib et permet de réutiliser ses objets. Il s'interface naturellement avec la librairepandas
et se révèle très pratique pour faire des graphiques à partir de DataFrames. Vous trouverez de nombreux tutoriels, comme celui-ci pour apprendre à l'utiliser en détail
Les principaux paquets pour la visualisation interactive
Rendre vos graphiques interactifs apporte parfois des avantages pour le lecteur en lui permettant de rechercher des informations dans vos graphiques, en y ajoutant des éléments comme la surbrillance, le zoom, la modification du graphique en fonction de choix de paramètres, ...
Voici les librairies parmi les plus populaires sur le sujet. Il peut être intéressant pour vous d'explorer rapidement leur capacités afin de sélectionner celle que vous souhaiterez approfondir en détail pour vos projets:
-
plotly
est une librairie haut niveau, multi langage, qui possède une implémentation en python et permet de réaliser une grande variétés de graphiques interactifs de qualité. Etant très populaire, vous trouverez beaucoup de tutoriel, comme celui-ci, pour apprendre à l'utiliser. Dash est un framework très puissant, s'appuyant sur plotly, qui permet de construire des interfaces graphiques orientées data science, déployable en ligne, comme par exemple des dashboard. -
bokeh
est une librairie haut niveau, s'interfaçant avec beaucoup de librairies de l'écosystème PyData et permet de réaliser une grande variété de graphiques interactifs partageable sous forme de de page web ou de notebook. Comme plotly, c'est une librairie assez populaire, dont vous trouverez facilement des tutoriels d'utilisation comme ici sur le blog toward data science (partie 1 et partie 2) ou encore des paquets dérivés comme pandas bokeh , dont vous pouvez suivre un tutoriel ici.
bokeh
est aussi pratique pour construire des dashboard interactifs, déployables en ligne. Voici un exemple pratique et détaillé des étapes de création d'un dashboard avec bokeh. -
altair
est un paquet spécialisé dans la visualisation d'information statistiques déclarative. De part sa propriété déclarative, c'est un outil rapide et facile à prendre en main qui permet des itérations rapides. Vous pouvez lire un tutoriel basique d'utilisation sur ce billet -
holoviz
est un metapaquet qui regroupe des paquets de haut niveau pour la visualisation de données, constituant un petit écosystème pour créer différents type de visualisation,hvplot
pour des graphiques interactives,geoviews
pour la visualisation de données cartographiques,datashader
pour gérer des datasets de volume important etpanel
pour la réalisation de dashboard interactifs, dont vous pouvez trouver un tutoriel sur cet article de blog -
ggplot2
est un autre librairie de création déclarative de graphique, similaire à altair, qui est l'adapation en python du paquet du m^eme nom deR
. Il utilise le concept de grammaire graphique. Du fait de ces propriétés, c'est un outil très flexible et simple à utiliser qui permet manipuler et visualiser simultanément les données tabulaires. Vous trouverez un tutoriel sur cet article du blog towards data science
Pour aller plus loin : les méthodes de plongement pour la visualisation à haute dimension
Si votre dataset contient un grand nombre de variables, vous serez intéressé par les méthodes de réduction de dimensionnalité, comme t-SNE (une des plus utilisée) qui vous permettent d'explorer les data set de dimensions élevées en réalisant un plongement pour les représenter dans un espace en deux dimension, plus facile a explorer. Vous pouvez trouver des exemples d'utilisation de t-SNE sur la page dediée de scikit-learn
Leçon de synthèse : librairies python pour la dataviz
Retrouvez le lien vers une version en ligne du notebook utilisée en cours