Visualisation de données en Python avec Seaborn

Python
visualisation de données
Seaborn
Visualisation de données en Python avec Seaborn cover image

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')

Count plot

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)**

Bar Plot

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.

Strip Plot

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.

Swarm Plot

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

Box Plot

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).

Violin Plot

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.

Hist Plot

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.

KDE Plot

seaborn.distplot(kind = 'kde',
                 data = dataset,
                 x    = 'variable')

Il peut également être utilisé pour représenter la distribution bivariée de deux variables continues.

KDE Plot

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.

ECDF Plot

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.

Scatter Plot

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.

Line Plot

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.

Hue

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.

Size

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.

Style

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.

Col

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.

Row

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.

Hue & Size

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 !


Career Services background pattern

Services de carrière

Contact Section background image

Restons en contact

Code Labs Academy © 2024 Tous droits réservés.