Aujourd’hui, la ressource la plus précieuse au monde n’est plus le pétrole, mais les données. La visualisation devient un outil de plus en plus important pour donner un sens aux milliards de lignes de données. En traduisant les données en une représentation graphique facile à interpréter, la visualisation des données facilite la narration des données en mettant en évidence les informations pertinentes, les modèles et les valeurs aberrantes. Cependant, les données et les graphiques doivent fonctionner ensemble : c'est l'art d'intégrer une bonne analyse à une bonne narration. Dans cet article de blog, nous allons vous montrer « Sea Born », l'un des outils de visualisation les plus connus écrit en Python.
Outils de visualisation
Nous utilisons des outils de visualisation pour visualiser les tendances, les modèles, les valeurs aberrantes et la relation entre les variables. Il s’agit d’une compétence très recherchée, en particulier pour une carrière en science des données.
Seaborn
Seaborn est une bibliothèque de visualisation de données Python basée sur matplotlib. Il fournit une interface de haut niveau pour dessiner des graphiques statistiques attrayants et informatifs.
Fonctions de traçage Seaborn :
A Seaborn, nous avons 3 catégories de parcelles
-
Parcelles catégorielles.
-
Parcelles de distribution.
-
Parcelles relationnelles.
Graphiques catégoriels
Nous utilisons les fonctions de tracé catégoriel de Seaborn pour visualiser les tendances d'une variable catégorielle ou pour visualiser la relation entre deux variables avec au moins une variable catégorielle.
Comptage :
- Affiche le nombre d'observations de chaque catégorie à partir de la variable catégorielle. On compte simplement le nombre d'observations de chaque catégorie de la variable
seaborn.catplot(kind = 'count',
data = dataset,
x = 'variable')
Graphique à barres :
-
Représente une estimation de tendance d'une variable continue avec la hauteur du rectangle pour chaque catégorie d'une variable catégorielle. Ainsi, la fonction de traçage prend deux variables en entrée, une continue et une catégorique. Pour chaque catégorie de la variable_1, nous calculons la tendance de la variable_2.
-
La tendance peut être la moyenne, la variance, ou vous pouvez transmettre une fonction personnalisée…
seaborn.catplot(kind = 'bar',**data = dataset,**
x = 'variable_1',**y = 'variable_2',**
estimator = np.mean)**
Tracé en bandes :
- Le tracé en bandes est l'un des tracés les plus simples et les plus directs de la visualisation de données, nous dessinons simplement des points qui représentent les valeurs d'une variable continue. Pour chaque catégorie de variable 1, nous dessinerons les valeurs de la variable 2.
seaborn.catplot(kind = 'strip',
data = dataset,
x = 'variable_1',
y = 'variable_2',
jitter = 0.15)
Parcelle d'essaim :
-
Le tracé en essaim est très similaire au tracé en bandes, car il a exactement la même fonctionnalité. La seule différence réside dans la façon dont il affiche les points. Alors que dans le tracé en bandes, les points de données peuvent se chevaucher car ils sont placés aléatoirement sur l'axe des x, dans le tracé en essaim, nous nous assurons que les points ne se chevauchent pas en les empilant les uns sur les autres.
-
L'inconvénient ici est que si nous avons beaucoup de points de données, il serait impossible de ne pas les chevaucher, donc l'algorithme supprimera certains points de données afin de ne pas les chevaucher.
seaborn.catplot(kind = 'swarm',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Box plot :
-
La boîte à moustaches est utilisée pour représenter la distribution d'une variable continue pour chaque catégorie d'une variable catégorielle. Même si c'est assez simple, cela donne beaucoup d'informations :
-
Les valeurs des quartiles :
La boîte comporte une ligne horizontale à l’intérieur, qui représente la médiane. La ligne horizontale au-dessus représente les quartiles supérieurs, celle en dessous représente les quartiles inférieurs.
- Les valeurs aberrantes :
Notez qu'il y a certains points en dehors de la boîte, ces points représentent les valeurs aberrantes
seaborn.catplot(kind = 'box',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Intrigue du violon :
Au lieu de tracer la boîte de distribution, le tracé en violon tracera la distribution réelle de la variable continue pour chaque catégorie de la variable catégorielle à l'aide de KDE (Kernel Density Estimation).
seaborn.catplot(kind = 'violin',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Parcelles de distribution :
Nous utilisons les fonctions de traçage de distribution de seaborn pour visualiser la distribution de variables continues.
Histoire :
Le tracé hist représente la distribution des variables continues à l'aide de compartiments.
seaborn.distplot(kind = 'hist',
data = dataset,
x = 'variable',
bins = 20)
Tracé KDE :
Le tracé Kde représente la distribution réelle des données, en utilisant l'estimation de la densité du noyau.
seaborn.distplot(kind = 'kde',
data = dataset,
x = 'variable')
Il peut également être utilisé pour représenter la distribution bivariée de deux variables continues.
seaborn.distplot(kind = 'kde',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Tracé ECDF :
Le tracé ECDF représente la distribution cumulative empirique d'une variable continue.
seaborn.distplot(kind = 'ecdf',
data = dataset,
x = 'variable')
Tracés relationnels :
Nous utilisons les fonctions de tracé relationnel de Seaborn pour visualiser la relation entre les variables continues.
Nuage de points :
- Il montre la relation entre deux variables continues, en traçant simplement tous les points de données.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Graphique linéaire:
- Représente la relation entre les variables sous forme de fonction continue.
seaborn.relplot(kind = 'line',
data = dataset,
x = 'variable_1',
y = 'variable_2')
Plus de fonctionnalités :
Vous avez peut-être remarqué que dans toutes les fonctions de traçage, nous utilisons un maximum de deux variables par tracé, mais que se passe-t-il si nous voulons introduire plus de variables dans notre visualisation ? Heureusement, Seaborn s'en est occupé :
Teinte:
- En utilisant la teinte, nous pouvons introduire une 3ème variable catégorique dans notre visualisation en utilisant le codage des couleurs, cela signifie que les points de données qui appartiennent à la même catégorie de cette 3ème variable auront la même couleur.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
hue = 'variable_3')
Taille:
- La taille est similaire à la teinte, mais utilise un codage de taille au lieu d'un codage de couleur. Cela signifie que les points de données appartenant à la même catégorie de la 3ème variable auront la même taille unique. Différentes tailles signifient différentes catégories.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
size = 'variable_3',
sizes = [50, 100])
Style:
- À peu près la même chose que la teinte et la taille, cela signifie que les points de données appartenant à la même catégorie de la 3ème variable auront le même style unique. Un style de point peut être un point, une étoile, une croix, un triangle,… nous les appelons des marqueurs.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
style = 'variable_3',
markers = ['X', '*'])
Nous pouvons également introduire une nouvelle variable catégorielle en utilisant plusieurs tracés, chaque tracé appartient à une catégorie de la variable catégorielle cate :
Col:
Créera de nombreuses figures horizontalement par rapport aux catégories de la 3ème variable.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
col = 'variable_3')
Rangée:
Créera de nombreuses figures verticalement par rapport aux catégories de la 3ème variable.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
row = 'variable_3')
On peut également utiliser Hue et Size dans le même tracé, pour représenter 4 variables, ou encore Hue et Style et Col, pour utiliser 5 variables dans le même tracé ! Nous pouvons utiliser jusqu'à 7 variables (variable 1, variable 2, Hue, Size, Style, Col, Row) dans le même tracé, mais cela nous donnera un tracé très chargé, tellement compliqué et extrêmement difficile à interpréter, parfois pas informatif du tout.
seaborn.relplot(kind = 'scatter',
data = dataset,
x = 'variable_1',
y = 'variable_2',
hue = 'variable_3',
size = 'variable_4')
Conclusion:
Dans cet article, nous avons découvert Seaborn, ses 3 catégories de fonctions de traçage : tracés catégoriels, de distribution et relationnels, et nous avons expliqué chaque fonction de traçage pour chaque catégorie, le tout avec le code python.
Consultez notre Data Science Bootcamp pour en savoir plus sur ce sujet !