[go: up one dir, main page]

0% ont trouvé ce document utile (0 vote)
14 vues102 pages

Tutoriel Seaborn Python

10

Transféré par

daryl emani
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
14 vues102 pages

Tutoriel Seaborn Python

10

Transféré par

daryl emani
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
Vous êtes sur la page 1/ 102

Tutoriel Seaborn

Seaborn est une bibliothèque Python open source sous licence BSD fournissant une API de haut
niveau pour visualiser les données à l'aide du langage de programmation Python.
Ce tutoriel vous présente les bases et les différentes fonctions de Seaborn. Il est particulièrement
utile pour les personnes travaillant sur l'analyse de données. Après avoir terminé ce didacticiel,
vous vous retrouverez à un niveau d'expertise modéré à partir duquel vous pourrez accéder à
des niveaux d'expertise plus élevés.
Vous devez avoir une compréhension de base des terminologies de programmation informatique.
Une compréhension de base de Python et de l'un des langages de programmation est un plus.
La bibliothèque Seaborn est construite sur Matplotlib. Avoir une idée de base de Matplotlib vous
aidera à mieux comprendre ce tutoriel.

Seaborn - Présentation
Dans le monde d'Analytics, la meilleure façon d'obtenir des informations est de visualiser les
données. Les données peuvent être visualisées en les représentant sous forme de tracés faciles
à comprendre, à explorer et à saisir. Ces données aident à attirer l'attention sur des éléments
clés.
Pour analyser un ensemble de données à l'aide de Python, nous utilisons Matplotlib, une
bibliothèque de traçage 2D largement implémentée. De même, Seaborn est une bibliothèque de
visualisation en Python. Il est construit sur Matplotlib.

Seaborn Vs Matplotlib
On résume que si Matplotlib «essaie de rendre les choses faciles faciles et les choses difficiles
possibles», Seaborn essaie également de rendre facile un ensemble bien défini de choses
difficiles. »
Seaborn aide à résoudre les deux problèmes majeurs rencontrés par Matplotlib; les problèmes
sont -
 Paramètres Matplotlib par défaut
 Travailler avec des blocs de données
Comme Seaborn complimente et prolonge Matplotlib, la courbe d'apprentissage est assez
progressive. Si vous connaissez Matplotlib, vous êtes déjà à mi-chemin de Seaborn.

Caractéristiques importantes de Seaborn


Seaborn repose sur la bibliothèque de visualisation principale de Python Matplotlib. Il est censé
servir de complément et non de remplacement. Cependant, Seaborn est livré avec des
fonctionnalités très importantes. Voyons quelques-uns d'entre eux ici. Les fonctionnalités aident à
-
 Thèmes intégrés pour styliser les graphiques matplotlib
 Visualisation des données univariées et bivariées
 Ajustement et visualisation des modèles de régression linéaire
 Tracer des données de séries chronologiques statistiques
 Seaborn fonctionne bien avec les structures de données NumPy et Pandas
 Il est livré avec des thèmes intégrés pour styliser les graphiques Matplotlib
Dans la plupart des cas, vous utiliserez toujours Matplotlib pour un traçage simple. La
connaissance de Matplotlib est recommandée pour modifier les graphiques par défaut de
Seaborn.
Seaborn - Configuration de
l'environnement
Dans ce chapitre, nous aborderons la configuration de l'environnement pour Seaborn.
Commençons par l'installation et comprenons comment commencer à mesure que nous
progressons.

Installation de Seaborn et mise en route


Dans cette section, nous comprendrons les étapes de l'installation de Seaborn.

Utilisation de Pip Installer


Pour installer la dernière version de Seaborn, vous pouvez utiliser pip -

pip install seaborn

Pour Windows, Linux et Mac utilisant Anaconda


Anaconda (à partir de https://www.anaconda.com/est une distribution Python gratuite pour la pile
SciPy. Il est également disponible pour Linux et Mac.
Il est également possible d'installer la version publiée en utilisant conda -

conda install seaborn

Pour installer la version de développement de Seaborn


directement depuis github
https://github.com/mwaskom/seaborn"

Dépendances
Considérez les dépendances suivantes de Seaborn -
 Python 2.7 ou 3.4+
 numpy
 scipy
 pandas
 matplotlib

Seaborn - Importer des ensembles de


données et des bibliothèques
Dans ce chapitre, nous verrons comment importer des ensembles de données et des
bibliothèques. Commençons par comprendre comment importer des bibliothèques.
Importation de bibliothèques
Commençons par importer Pandas, qui est une excellente bibliothèque pour gérer des
ensembles de données relationnelles (au format table). Seaborn est pratique lorsqu'il s'agit de
DataFrames, qui est la structure de données la plus largement utilisée pour l'analyse des
données.
La commande suivante vous aidera à importer des Pandas -

# Pandas for managing datasets


import pandas as pd

Maintenant, importons la bibliothèque Matplotlib, qui nous aide à personnaliser nos graphiques.

# Matplotlib for additional customization


from matplotlib import pyplot as plt

Nous importerons la bibliothèque Seaborn avec la commande suivante -

# Seaborn for plotting and styling


import seaborn as sb

Importer des ensembles de données


Nous avons importé les bibliothèques requises. Dans cette section, nous allons comprendre
comment importer les jeux de données requis.
Seaborn est livré avec quelques ensembles de données importants dans la bibliothèque. Lorsque
Seaborn est installé, les jeux de données sont téléchargés automatiquement.
Vous pouvez utiliser l'un de ces ensembles de données pour votre apprentissage. Avec l'aide de
la fonction suivante, vous pouvez charger le jeu de données requis

load_dataset()

Importation de données en tant que


Pandas DataFrame
Dans cette section, nous importerons un ensemble de données. Cet ensemble de données se
charge par défaut en tant que Pandas DataFrame. S'il y a une fonction dans le Pandas
DataFrame, cela fonctionne sur ce DataFrame.
La ligne de code suivante vous aidera à importer l'ensemble de données -

# Seaborn for plotting and styling


import seaborn as sb
df = sb.load_dataset('tips')
print df.head()
La ligne de code ci-dessus générera la sortie suivante -

total_bill tip sex smoker day time size


0 16.99 1.01 Female No Sun Dinner 2
1 10.34 1.66 Male No Sun Dinner 3
2 21.01 3.50 Male No Sun Dinner 3
3 23.68 3.31 Male No Sun Dinner 2
4 24.59 3.61 Female No Sun Dinner 4

Pour afficher tous les ensembles de données disponibles dans la bibliothèque Seaborn, vous
pouvez utiliser la commande suivante avec le get_dataset_names() fonction comme indiqué ci-
dessous -

import seaborn as sb
print sb.get_dataset_names()

La ligne de code ci-dessus renverra la liste des ensembles de données disponibles comme sortie
suivante

[u'anscombe', u'attention', u'brain_networks', u'car_crashes', u'dots',


u'exercise', u'flights', u'fmri', u'gammas', u'iris', u'planets', u'tips',
u'titanic']

DataFramesstocker les données sous la forme de grilles rectangulaires permettant de visualiser


facilement les données. Chaque ligne de la grille rectangulaire contient les valeurs d'une instance
et chaque colonne de la grille est un vecteur qui contient des données pour une variable
spécifique. Cela signifie que les lignes d'un DataFrame n'ont pas besoin de contenir, les valeurs
du même type de données, elles peuvent être numériques, caractères, logiques, etc. Les
DataFrames pour Python sont livrés avec la bibliothèque Pandas, et ils sont définis comme des
structures de données étiquetées bidimensionnelles avec des types de colonnes potentiellement
différents.
Pour plus de détails sur les DataFrames, visitez notre tutoriel sur les pandas.

Seaborn - Figure Esthétique


La visualisation des données est une étape et rendre les données visualisées plus agréables en
est une autre. La visualisation joue un rôle essentiel dans la communication d'informations
quantitatives à un public pour attirer son attention.
L'esthétique signifie un ensemble de principes concernant la nature et l'appréciation de la beauté,
en particulier dans l'art. La visualisation est un art de représenter les données de la manière la
plus efficace et la plus simple possible.
La bibliothèque Matplotlib prend fortement en charge la personnalisation, mais savoir quels
paramètres modifier pour obtenir un tracé attrayant et anticipé est ce dont il faut être conscient
pour l'utiliser. Contrairement à Matplotlib, Seaborn est livré avec des thèmes personnalisés et
une interface de haut niveau pour personnaliser et contrôler l'apparence des figurines Matplotlib.
Exemple
import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip = 1):
x = np.linspace(0, 14, 100)
for i in range(1, 5):
plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
sinplot()
plt.show()

Voici à quoi ressemble un tracé avec les valeurs par défaut Matplotlib -

Pour changer le même tracé en valeurs par défaut Seaborn, utilisez le set() fonction -

Exemple
import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip = 1):
x = np.linspace(0, 14, 100)
for i in range(1, 5):
plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set()
sinplot()
plt.show()
Production

Les deux figures ci-dessus montrent la différence entre les graphiques par défaut de Matplotlib et
de Seaborn. La représentation des données est la même, mais le style de représentation varie
dans les deux.
Fondamentalement, Seaborn divise les paramètres de Matplotlib en deux groupes -
 Styles de tracé
 Échelle de tracé

Styles de figurines Seaborn


L'interface de manipulation des styles est set_style(). En utilisant cette fonction, vous pouvez
définir le thème du tracé. Selon la dernière version mise à jour, vous trouverez ci-dessous les
cinq thèmes disponibles.
 Darkgrid
 Whitegrid
 Dark
 White
 Ticks
Essayons d'appliquer un thème de la liste ci-dessus. Le thème par défaut du tracé
seradarkgrid ce que nous avons vu dans l'exemple précédent.

Exemple
import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip=1):
x = np.linspace(0, 14, 100)
for i in range(1, 5):
plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set_style("whitegrid")
sinplot()
plt.show()

Production

La différence entre les deux tracés ci-dessus est la couleur d'arrière-plan

Retirer les épines des haches


Dans les thèmes blancs et coches, nous pouvons supprimer les épines des axes supérieur et
droit à l'aide du bouton despine() fonction.

Exemple
import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip=1):
x = np.linspace(0, 14, 100)
for i in range(1, 5):
plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set_style("white")
sinplot()
sb.despine()
plt.show()

Production

Dans les graphiques réguliers, nous utilisons uniquement les axes gauche et inférieur. En
utilisant ledespine() fonction, nous pouvons éviter les épines inutiles des axes droit et supérieur,
ce qui n'est pas pris en charge dans Matplotlib.

Remplacer les éléments


Si vous souhaitez personnaliser les styles Seaborn, vous pouvez transmettre un dictionnaire de
paramètres au set_style() fonction. Les paramètres disponibles sont affichés à l'aide
deaxes_style() fonction.

Exemple
import seaborn as sb
print sb.axes_style
Production
{'axes.axisbelow' : False,
'axes.edgecolor' : 'white',
'axes.facecolor' : '#EAEAF2',
'axes.grid' : True,
'axes.labelcolor' : '.15',
'axes.linewidth' : 0.0,
'figure.facecolor' : 'white',
'font.family' : [u'sans-serif'],
'font.sans-serif' : [u'Arial', u'Liberation
Sans', u'Bitstream Vera Sans', u'sans-serif'],
'grid.color' : 'white',
'grid.linestyle' : u'-',
'image.cmap' : u'Greys',
'legend.frameon' : False,
'legend.numpoints' : 1,
'legend.scatterpoints': 1,
'lines.solid_capstyle': u'round',
'text.color' : '.15',
'xtick.color' : '.15',
'xtick.direction' : u'out',
'xtick.major.size' : 0.0,
'xtick.minor.size' : 0.0,
'ytick.color' : '.15',
'ytick.direction' : u'out',
'ytick.major.size' : 0.0,
'ytick.minor.size' : 0.0}

La modification des valeurs de l'un des paramètres modifie le style de tracé.

Exemple
import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip=1):
x = np.linspace(0, 14, 100)
for i in range(1, 5):
plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set_style("darkgrid", {'axes.axisbelow': False})
sinplot()
sb.despine()
plt.show()

Production

Mise à l'échelle des éléments de tracé


Nous contrôlons également les éléments de la parcelle et pouvons contrôler l'échelle de la
parcelle à l'aide du set_context()fonction. Nous avons quatre modèles prédéfinis pour les
contextes, basés sur la taille relative, les contextes sont nommés comme suit
 Paper
 Notebook
 Talk
 Poster
Par défaut, le contexte est défini sur notebook; et a été utilisé dans les graphiques ci-dessus.

Exemple
import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip = 1):
x = np.linspace(0, 14, 100)
for i in range(1, 5):
plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set_style("darkgrid", {'axes.axisbelow': False})
sinplot()
sb.despine()
plt.show()

Production

La taille de sortie du tracé réel est plus grande que celle des tracés ci-dessus.
Note - En raison de la mise à l'échelle des images sur notre page Web, vous pourriez manquer la
différence réelle dans nos graphiques d'exemple.

Seaborn - Palette de couleurs


La couleur joue un rôle important que tout autre aspect dans les visualisations. Lorsqu'elle est
utilisée efficacement, la couleur ajoute plus de valeur au tracé. Une palette signifie une surface
plane sur laquelle un peintre dispose et mélange les peintures.

Palette de couleurs du bâtiment


Seaborn fournit une fonction appelée color_palette(), qui peut être utilisé pour donner des
couleurs aux tracés et leur ajouter plus de valeur esthétique.
Usage
seaborn.color_palette(palette = None, n_colors = None, desat = None)

Paramètre
Le tableau suivant répertorie les paramètres de création de la palette de couleurs -

N ° Sr. Palatte et description

1 n_colors
Nombre de couleurs dans la palette. Si Aucun, la valeur par défaut dépendra de la façon dont la pale
den_colors est de 6 couleurs.

2 desat
Proportion pour désaturer chaque couleur.

Revenir
Return fait référence à la liste des tuples RVB. Voici les palettes Seaborn facilement disponibles -
 Deep
 Muted
 Bright
 Pastel
 Dark
 Colorblind
Outre ceux-ci, on peut également générer une nouvelle palette
Il est difficile de décider quelle palette utiliser pour un ensemble de données donné sans
connaître les caractéristiques des données. En étant conscient, nous classerons les différentes
manières d'utilisercolor_palette() types -
 qualitative
 sequential
 diverging
Nous avons une autre fonction seaborn.palplot()qui traite des palettes de couleurs. Cette
fonction trace la palette de couleurs sous forme de tableau horizontal. Nous en saurons plus
surseaborn.palplot() dans les exemples à venir.

Palettes de couleurs qualitatives


Les palettes qualitatives ou catégorielles conviennent le mieux pour tracer les données
catégorielles.
Exemple
from matplotlib import pyplot as plt
import seaborn as sb
current_palette = sb.color_palette()
sb.palplot(current_palette)
plt.show()

Production

Nous n'avons passé aucun paramètre dans color_palette();par défaut, nous voyons 6 couleurs.
Vous pouvez voir le nombre de couleurs souhaité en passant une valeur aun_colorsparamètre.
Ici lepalplot() est utilisé pour tracer le tableau de couleurs horizontalement.

Palettes de couleurs séquentielles


Les graphiques séquentiels conviennent pour exprimer la distribution de données allant de
valeurs relativement faibles à des valeurs plus élevées dans une plage.
L'ajout d'un caractère supplémentaire «s» à la couleur passée au paramètre de couleur tracera le
tracé séquentiel.

Exemple
from matplotlib import pyplot as plt
import seaborn as sb
current_palette = sb.color_palette()
sb.palplot(sb.color_palette("Greens"))
plt.show()

Note −Nous devons ajouter «s» au paramètre comme «Verts» dans l'exemple ci-dessus.
Palette de couleurs divergentes
Les palettes divergentes utilisent deux couleurs différentes. Chaque couleur représente une
variation de la valeur allant d'un point commun dans les deux sens.
Supposons de tracer les données comprises entre -1 et 1. Les valeurs de -1 à 0 prennent une
couleur et 0 à +1 en prend une autre.
Par défaut, les valeurs sont centrées à partir de zéro. Vous pouvez le contrôler avec le centre des
paramètres en passant une valeur.

Exemple
from matplotlib import pyplot as plt
import seaborn as sb
current_palette = sb.color_palette()
sb.palplot(sb.color_palette("BrBG", 7))
plt.show()

Production

Définition de la palette de couleurs par


défaut
Les fonctions color_palette() a un compagnon appelé set_palette()La relation entre eux est
similaire aux paires couvertes dans le chapitre sur l'esthétique. Les arguments sont les mêmes
pour les deuxset_palette() et color_palette(), mais les paramètres par défaut de Matplotlib sont
modifiés pour que la palette soit utilisée pour tous les tracés.

Exemple
import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip = 1):
x = np.linspace(0, 14, 100)
for i in range(1, 5):
plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set_style("white")
sb.set_palette("husl")
sinplot()
plt.show()

Production

Tracer une distribution univariée


La distribution des données est la chose la plus importante que nous devons comprendre lors de
l'analyse des données. Ici, nous verrons comment seaborn nous aide à comprendre la
distribution univariée des données.
Fonction distplot()fournit le moyen le plus pratique de jeter un coup d'œil sur la distribution
univariée. Cette fonction tracera un histogramme qui correspond à l'estimation de la densité du
noyau des données.

Usage
seaborn.distplot()

Paramètres
Le tableau suivant répertorie les paramètres et leur description -

N ° Sr. Paramètre et description


1 data
Série, baie 1d ou liste

2 bins
Spécification des bacs hist

3 hist
booléen

4 kde
booléen

Ce sont des paramètres fondamentaux et importants à examiner.

Seaborn - Histogramme
Les histogrammes représentent la distribution des données en formant des casiers le long de la
plage des données, puis en dessinant des barres pour montrer le nombre d'observations qui
tombent dans chaque casier.
Seaborn est livré avec quelques jeux de données et nous avons utilisé peu de jeux de données
dans nos chapitres précédents. Nous avons appris à charger l'ensemble de données et à
rechercher la liste des ensembles de données disponibles.
Seaborn est livré avec quelques jeux de données et nous avons utilisé peu de jeux de données
dans nos chapitres précédents. Nous avons appris à charger l'ensemble de données et à
rechercher la liste des ensembles de données disponibles.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.distplot(df['petal_length'],kde = False)
plt.show()
Production

Ici, kdel'indicateur est défini sur False. En conséquence, la représentation du tracé d'estimation
du noyau sera supprimée et seul l'histogramme sera tracé.

Seaborn - Estimations de la densité du


noyau
L'estimation de densité de noyau (KDE) est un moyen d'estimer la fonction de densité de
probabilité d'une variable aléatoire continue. Il est utilisé pour l'analyse non paramétrique.
Réglage du hist flag à False in distplot donnera le tracé d'estimation de la densité du noyau.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.distplot(df['petal_length'],hist=False)
plt.show()
Production

Ajustement de la distribution
paramétrique
distplot() est utilisé pour visualiser la distribution paramétrique d'un jeu de données.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.distplot(df['petal_length'])
plt.show()
Production

Tracé de la distribution bivariée


La distribution bivariée est utilisée pour déterminer la relation entre deux variables. Cela
concerne principalement la relation entre deux variables et la façon dont une variable se
comporte par rapport à l'autre.
La meilleure façon d'analyser la distribution bivariée dans seaborn est d'utiliser
le jointplot() fonction.
Jointplot crée une figure multi-panneaux qui projette la relation bivariée entre deux variables ainsi
que la distribution univariée de chaque variable sur des axes séparés.

Nuage de points
Le nuage de points est le moyen le plus pratique de visualiser la distribution où chaque
observation est représentée dans un tracé bidimensionnel via les axes x et y.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.jointplot(x = 'petal_length',y = 'petal_width',data = df)
plt.show()
Production

La figure ci-dessus montre la relation entre les petal_length et petal_widthdans les données
Iris. Une tendance dans le graphique indique qu'il existe une corrélation positive entre les
variables à l'étude.

Tracé Hexbin
Le regroupement hexagonal est utilisé dans l'analyse de données bivariées lorsque la densité
des données est clairsemée, c'est-à-dire lorsque les données sont très dispersées et difficiles à
analyser à travers des nuages de points.
Un paramètre d'addition appelé «kind» et une valeur «hex» trace le tracé hexbin.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.jointplot(x = 'petal_length',y = 'petal_width',data = df,kind = 'hex')
plt.show()
Estimation de la densité du noyau
L'estimation de la densité par noyau est une manière non paramétrique d'estimer la distribution
d'une variable. Dans seaborn, nous pouvons tracer un kde en utilisantjointplot().
Passez la valeur 'kde' au paramètre kind pour tracer le tracé du noyau.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.jointplot(x = 'petal_length',y = 'petal_width',data = df,kind = 'hex')
plt.show()
Production

Seaborn - Visualisation de la relation par


paires
Les ensembles de données sous étude en temps réel contiennent de nombreuses variables.
Dans de tels cas, la relation entre chaque variable doit être analysée. Tracer la distribution
bivariée pour (n, 2) combinaisons sera un processus très complexe et prenant du temps.
Pour tracer plusieurs distributions bivariées par paires dans un jeu de données, vous pouvez
utiliser pairplot()fonction. Cela montre la relation pour (n, 2) combinaison de variable dans un
DataFrame sous forme de matrice de tracés et les tracés diagonaux sont les tracés univariés.

Haches
Dans cette section, nous allons apprendre ce que sont les axes, leur utilisation, leurs paramètres,
etc.

Usage
seaborn.pairplot(data,…)

Paramètres
Le tableau suivant répertorie les paramètres des axes -
N ° Sr. Paramètre et description

1 data
Trame de données

2 hue
Variable dans les données pour mapper les aspects du tracé à différentes couleurs.

3 palette
Ensemble de couleurs pour mapper la variable de teinte

4 kind
Genre d'intrigue pour les relations non identitaires. {'scatter', 'reg'}

5 diag_kind
Type de tracé pour les sous-tracés diagonaux. {'hist', 'kde'}

À l'exception des données, tous les autres paramètres sont facultatifs. Il y a peu d'autres
paramètres quipairplotPeut accepter. Les paramètres mentionnés ci-dessus sont souvent
utilisés.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.set_style("ticks")
sb.pairplot(df,hue = 'species',diag_kind = "kde",kind = "scatter",palette =
"husl")
plt.show()
Production

Nous pouvons observer les variations dans chaque parcelle. Les tracés sont au format matriciel
où le nom de ligne représente l'axe x et le nom de colonne représente l'axe y.
Les tracés diagonaux sont des tracés de densité de noyau où les autres tracés sont des
diagrammes de dispersion comme mentionné.

Seaborn - Représentation des données


catégorielles
Dans nos chapitres précédents, nous avons découvert les nuages de points, les graphiques
hexbin et les graphiques kde qui sont utilisés pour analyser les variables continues étudiées. Ces
graphiques ne conviennent pas lorsque la variable à l'étude est catégorique.
Quand une ou les deux variables à l'étude sont catégoriques, nous utilisons des graphiques
comme striplot (), swarmplot (), etc. Seaborn fournit une interface pour ce faire.

Nuage de points catégoriels


Dans cette section, nous en apprendrons davantage sur les nuages de points catégoriels.
stripplot ()
stripplot () est utilisé lorsque l'une des variables étudiées est catégorique. Il représente les
données dans l'ordre trié le long de l'un des axes.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.stripplot(x = "species", y = "petal_length", data = df)
plt.show()

Production

Dans le graphique ci-dessus, nous pouvons clairement voir la différence de petal_lengthdans


chaque espèce. Mais le problème majeur avec le nuage de points ci-dessus est que les points du
nuage de points se chevauchent. Nous utilisons le paramètre 'Jitter' pour gérer ce type de
scénario.
Jitter ajoute du bruit aléatoire aux données. Ce paramètre ajustera les positions le long de l'axe
des catégories.
Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.stripplot(x = "species", y = "petal_length", data = df, jitter = Ture)
plt.show()

Production

Désormais, la répartition des points est facilement visible.

Parcelle d'essaim ()
Une autre option qui peut être utilisée comme alternative à 'Jitter' est la fonction swarmplot().
Cette fonction positionne chaque point du nuage de points sur l'axe catégoriel et évite ainsi le
chevauchement des points -

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.swarmplot(x = "species", y = "petal_length", data = df)
plt.show()

Production

Seaborn - Répartition des observations


Dans les nuages de points catégoriels que nous avons traités dans le chapitre précédent,
l'approche devient limitée dans les informations qu'elle peut fournir sur la distribution des valeurs
au sein de chaque catégorie. Maintenant, en allant plus loin, voyons ce qui peut nous faciliter la
comparaison avec les catégories.

Boîtes à moustaches
Boxplot est un moyen pratique de visualiser la distribution des données à travers leurs quartiles.
Les boîtes à moustaches ont généralement des lignes verticales s'étendant des boîtes qui sont
appelées moustaches. Ces moustaches indiquent une variabilité en dehors des quartiles
supérieur et inférieur, c'est pourquoi les boîtes à moustaches sont également appeléesbox-and-
whisker intrigue et box-and-whisker diagramme. Toutes les valeurs aberrantes dans les
données sont tracées sous forme de points individuels.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.swarmplot(x = "species", y = "petal_length", data = df)
plt.show()

Production

Les points sur le graphique indiquent la valeur aberrante.

Parcelles de violon
Les graphiques de violon sont une combinaison de la boîte à moustaches et des estimations de
densité du noyau. Ainsi, ces graphiques sont plus faciles à analyser et à comprendre la
distribution des données.
Utilisons l'ensemble de données de conseils appelé pour en savoir plus sur les parcelles de
violon. Cet ensemble de données contient les informations relatives aux pourboires donnés par
les clients d'un restaurant.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
sb.violinplot(x = "day", y = "total_bill", data=df)
plt.show()

Production

Les valeurs de quartile et de moustache de la boîte à moustaches sont affichées à l'intérieur du


violon. Comme l'intrigue du violon utilise KDE, la partie la plus large du violon indique la densité
la plus élevée et la région étroite représente une densité relativement plus faible. La gamme
Inter-Quartile en boxplot et la portion de densité plus élevée en kde tombent dans la même
région de chaque catégorie de violon plot.
Le graphique ci-dessus montre la distribution de total_bill sur quatre jours de la semaine. Mais,
en plus de cela, si nous voulons voir comment la distribution se comporte par rapport au sexe,
explorons-la dans l'exemple ci-dessous.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
sb.violinplot(x = "day", y = "total_bill",hue = 'sex', data = df)
plt.show()
Production

Maintenant, nous pouvons clairement voir le comportement de dépenses entre les hommes et les
femmes. On peut facilement dire que les hommes font plus de factures que les femmes en
regardant l'intrigue.
Et, si la variable de teinte n'a que deux classes, nous pouvons embellir l'intrigue en divisant
chaque violon en deux au lieu de deux violons un jour donné. Les deux parties du violon se
réfèrent à chaque classe dans la variable de teinte.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
sb.violinplot(x = "day", y="total_bill",hue = 'sex', data = df)
plt.show()
Production

Seaborn - Estimation statistique


Dans la plupart des situations, nous traitons des estimations de l'ensemble de la distribution des
données. Mais quand il s'agit d'estimer la tendance centrale, nous avons besoin d'une manière
spécifique de résumer la distribution. La moyenne et la médiane sont les techniques très souvent
utilisées pour estimer la tendance centrale de la distribution.
Dans toutes les parcelles que nous avons apprises dans la section ci-dessus, nous avons fait la
visualisation de l'ensemble de la distribution. Parlons maintenant des parcelles avec lesquelles
nous pouvons estimer la tendance centrale de la distribution.

Bar Plot
le barplot()montre la relation entre une variable catégorielle et une variable continue. Les
données sont représentées dans des barres rectangulaires où la longueur de la barre représente
la proportion des données dans cette catégorie.
Le graphique à barres représente l'estimation de la tendance centrale. Utilisons le jeu de
données «titanesque» pour apprendre les graphiques à barres.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('titanic')
sb.barplot(x = "sex", y = "survived", hue = "class", data = df)
plt.show()
Production

Dans l'exemple ci-dessus, nous pouvons voir que le nombre moyen de survivances des hommes
et des femmes dans chaque classe. À partir de l'intrigue, nous pouvons comprendre que plus de
femmes ont survécu que d'hommes. Chez les hommes et les femmes, un plus grand nombre de
survivants proviennent de la première classe.
Un cas particulier dans le barplot est de montrer le nombre d'observations dans chaque catégorie
plutôt que de calculer une statistique pour une deuxième variable. Pour cela, nous
utilisonscountplot().

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('titanic')
sb.countplot(x = " class ", data = df, palette = "Blues");
plt.show()
Production

Plot dit que, le nombre de passagers dans la troisième classe est plus élevé que dans la
première et la deuxième classe.

Tracés de points
Les tracés de points servent de même que les tracés à barres mais dans un style différent. Plutôt
que la barre entière, la valeur de l'estimation est représentée par le point à une certaine hauteur
sur l'autre axe.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('titanic')
sb.pointplot(x = "sex", y = "survived", hue = "class", data = df)
plt.show()
Production

Seaborn - Tracer des données de forme


large
Il est toujours préférable d'utiliser des ensembles de données «depuis longtemps» ou «rangés».
Mais parfois, lorsque nous n'avons aucune option plutôt que d'utiliser un ensemble de données
«grand format», les mêmes fonctions peuvent également être appliquées aux données «grand
format» dans divers formats, y compris les cadres de données Pandas ou NumPy bidimensionnel
tableaux. Ces objets doivent être passés directement au paramètre de données les variables x et
y doivent être spécifiées sous forme de chaînes

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.boxplot(data = df, orient = "h")
plt.show()
Production

De plus, ces fonctions acceptent des vecteurs d'objets Pandas ou NumPy plutôt que des
variables dans un DataFrame.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.boxplot(data = df, orient = "h")
plt.show()
Production

Le principal avantage de l'utilisation de Seaborn pour de nombreux développeurs dans le monde


Python est qu'il peut prendre l'objet pandas DataFrame comme paramètre.

Seaborn - Graphiques catégoriels multi-


panneaux
Les données catégorielles peuvent-elles être visualisées à l'aide de deux graphiques, vous
pouvez soit utiliser les fonctions pointplot(), ou la fonction de niveau supérieur factorplot().

Factorplot
Factorplot dessine un tracé catégoriel sur un FacetGrid. En utilisant le paramètre «kind», nous
pouvons choisir l'intrigue comme boxplot, violinplot, barplot et stripplot. FacetGrid utilise le
pointplot par défaut.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('exercise')
sb.factorplot(x = "time", y = pulse", hue = "kind",data = df);
plt.show()
Production

Nous pouvons utiliser différents graphiques pour visualiser les mêmes données en utilisant
le kind paramètre.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('exercise')
sb.factorplot(x = "time", y = "pulse", hue = "kind", kind = 'violin',data =
df);
plt.show()
Production

Dans factorplot, les données sont tracées sur une grille à facettes.

Qu'est-ce que Facet Grid?


Facet grid forme une matrice de panneaux définis par ligne et colonne en divisant les variables.
En raison des panneaux, une seule parcelle ressemble à plusieurs parcelles. Il est très utile
d'analyser toutes les combinaisons de deux variables discrètes.
Visualisons la définition ci-dessus avec un exemple

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('exercise')
sb.factorplot(x = "time", y = "pulse", hue = "kind", kind = 'violin', col =
"diet", data = df);
plt.show()
Production

L'avantage d'utiliser Facet est que nous pouvons entrer une autre variable dans le graphique. Le
graphique ci-dessus est divisé en deux graphiques basés sur une troisième variable appelée
«régime» utilisant le paramètre «col».
Nous pouvons créer de nombreuses facettes de colonne et les aligner avec les lignes de la grille
-

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('titanic')
sb.factorplot("alive", col = "deck", col_wrap = 3,data =
df[df.deck.notnull()],kind = "count")
plt.show()
production

Seaborn - Relations linéaires


La plupart du temps, nous utilisons des ensembles de données contenant plusieurs variables
quantitatives, et le but d'une analyse est souvent de relier ces variables entre elles. Cela peut
être fait à travers les lignes de régression.
Lors de la construction des modèles de régression, nous vérifions souvent multicollinearity,où
nous devions voir la corrélation entre toutes les combinaisons de variables continues et
prendrons les mesures nécessaires pour supprimer la multicolinéarité si elle existe. Dans de tels
cas, les techniques suivantes sont utiles.

Fonctions pour dessiner des modèles de


régression linéaire
Il existe deux fonctions principales dans Seaborn pour visualiser une relation linéaire déterminée
par régression. Ces fonctions sontregplot() et lmplot().
regplot vs lmplot
regplot lmplot

accepte les variables x et y dans une variété de formats, y compris des tableaux a des données comme paramèt
numpy simples, des objets de la série pandas ou comme références à des doivent être spécifiées sous for
variables dans un DataFrame pandas est appelé données «longues»

Tirons maintenant les graphiques.

Exemple
Tracer le regplot puis lmplot avec les mêmes données dans cet exemple

import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
sb.regplot(x = "total_bill", y = "tip", data = df)
sb.lmplot(x = "total_bill", y = "tip", data = df)
plt.show()

Production
Vous pouvez voir la différence de taille entre deux parcelles.

Nous pouvons également ajuster une régression linéaire lorsque l'une des variables prend des
valeurs discrètes
Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
sb.lmplot(x = "size", y = "tip", data = df)
plt.show()

Production

Montage de différents types de modèles


Le modèle de régression linéaire simple utilisé ci-dessus est très simple à ajuster, mais dans la
plupart des cas, les données ne sont pas linéaires et les méthodes ci-dessus ne peuvent pas
généraliser la droite de régression.
Utilisons le jeu de données d'Anscombe avec les graphiques de régression -

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('anscombe')
sb.lmplot(x="x", y="y", data=df.query("dataset == 'I'"))
plt.show()

Dans ce cas, les données correspondent bien au modèle de régression linéaire avec moins de
variance.
Voyons un autre exemple où les données prennent un écart élevé, ce qui montre que la ligne de
meilleur ajustement n'est pas bonne.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('anscombe')
sb.lmplot(x = "x", y = "y", data = df.query("dataset == 'II'"))
plt.show()
Production

Le graphique montre l'écart élevé des points de données par rapport à la droite de régression. Un
tel ordre supérieur non linéaire peut être visualisé en utilisant lelmplot() et regplot()Ils peuvent
s'adapter à un modèle de régression polynomiale pour explorer des types simples de tendances
non linéaires dans l'ensemble de données -

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('anscombe')
sb.lmplot(x = "x", y = "y", data = df.query("dataset == 'II'"),order = 2)
plt.show()
Production

Seaborn - Grille de facettes


Une approche utile pour explorer les données de dimension moyenne consiste à dessiner
plusieurs instances du même graphique sur différents sous-ensembles de votre ensemble de
données.
Cette technique est communément appelée «tracé en treillis» ou «trellis» et elle est liée à l'idée
de «petits multiples».
Pour utiliser ces fonctionnalités, vos données doivent se trouver dans un Pandas DataFrame.

Tracer de petits multiples de sous-


ensembles de données
Dans le chapitre précédent, nous avons vu l'exemple FacetGrid où la classe FacetGrid aide à
visualiser la distribution d'une variable ainsi que la relation entre plusieurs variables séparément
dans des sous-ensembles de votre ensemble de données à l'aide de plusieurs panneaux.
Un FacetGrid peut être dessiné avec jusqu'à trois dimensions - ligne, col et teinte. Les deux
premiers ont une correspondance évidente avec le tableau d'axes résultant; Considérez la
variable de teinte comme une troisième dimension le long d'un axe de profondeur, où différents
niveaux sont tracés avec des couleurs différentes.
FacetGrid object prend un dataframe comme entrée et les noms des variables qui formeront les
dimensions de ligne, de colonne ou de teinte de la grille.
Les variables doivent être catégoriques et les données à chaque niveau de la variable seront
utilisées pour une facette le long de cet axe.
Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
g = sb.FacetGrid(df, col = "time")
plt.show()

Production

Dans l'exemple ci-dessus, nous venons d'initialiser le facetgrid objet qui ne dessine rien dessus.
La principale approche pour visualiser les données sur cette grille consiste
à FacetGrid.map()méthode. Regardons la distribution des pointes dans chacun de ces sous-
ensembles, à l'aide d'un histogramme.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
g = sb.FacetGrid(df, col = "time")
g.map(plt.hist, "tip")
plt.show()
Production

Le nombre de tracés est supérieur à un en raison du paramètre col. Nous avons discuté du
paramètre col dans nos chapitres précédents.
Pour créer un tracé relationnel, transmettez les noms de variables multiples.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
g = sb.FacetGrid(df, col = "sex", hue = "smoker")
g.map(plt.scatter, "total_bill", "tip")
plt.show()

Production

Seaborn - Grille de paires


PairGrid nous permet de dessiner une grille de sous-tracés en utilisant le même type de tracé
pour visualiser les données.
Contrairement à FacetGrid, il utilise différentes paires de variables pour chaque sous-tracé. Il
forme une matrice de sous-parcelles. Elle est aussi parfois appelée «matrice de nuage de
points».
L'utilisation de pairgrid est similaire à facetgrid. Initialisez d'abord la grille, puis passez la fonction
de traçage.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
g = sb.PairGrid(df)
g.map(plt.scatter);
plt.show()

Il est également possible de tracer une fonction différente sur la diagonale pour montrer la
distribution univariée de la variable dans chaque colonne.
Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
g = sb.PairGrid(df)
g.map_diag(plt.hist)
g.map_offdiag(plt.scatter);
plt.show()

Production

Nous pouvons personnaliser la couleur de ces graphiques en utilisant une autre variable
catégorielle. Par exemple, l'ensemble de données sur l'iris comporte quatre mesures pour
chacune des trois espèces différentes de fleurs d'iris afin que vous puissiez voir en quoi elles
diffèrent.
Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
g = sb.PairGrid(df)
g.map_diag(plt.hist)
g.map_offdiag(plt.scatter);
plt.show()

Production

Nous pouvons utiliser une fonction différente dans les triangles supérieur et inférieur pour voir
différents aspects de la relation.
Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
g = sb.PairGrid(df)
g.map_upper(plt.scatter)
g.map_lower(sb.kdeplot, cmap = "Blues_d")
g.map_diag(sb.kdeplot, lw = 3, legend = False);
plt.show()

Production

Seaborn - Guide rapide


Dans le monde d'Analytics, la meilleure façon d'obtenir des informations est de visualiser les
données. Les données peuvent être visualisées en les représentant sous forme de tracés faciles
à comprendre, à explorer et à saisir. Ces données aident à attirer l'attention sur des éléments
clés.
Pour analyser un ensemble de données à l'aide de Python, nous utilisons Matplotlib, une
bibliothèque de traçage 2D largement implémentée. De même, Seaborn est une bibliothèque de
visualisation en Python. Il est construit sur Matplotlib.

Seaborn Vs Matplotlib
On résume que si Matplotlib «essaie de rendre les choses faciles faciles et les choses difficiles
possibles», Seaborn essaie également de rendre facile un ensemble bien défini de choses
difficiles. »
Seaborn aide à résoudre les deux problèmes majeurs rencontrés par Matplotlib; les problèmes
sont -
 Paramètres Matplotlib par défaut
 Travailler avec des blocs de données
Comme Seaborn complimente et prolonge Matplotlib, la courbe d'apprentissage est assez
progressive. Si vous connaissez Matplotlib, vous êtes déjà à mi-chemin de Seaborn.

Caractéristiques importantes de Seaborn


Seaborn repose sur la bibliothèque de visualisation principale de Python Matplotlib. Il est censé
servir de complément et non de remplacement. Cependant, Seaborn est livré avec des
fonctionnalités très importantes. Voyons quelques-uns d'entre eux ici. Les fonctionnalités aident à
-
 Thèmes intégrés pour styliser les graphiques matplotlib
 Visualisation des données univariées et bivariées
 Ajustement et visualisation des modèles de régression linéaire
 Tracer des données de séries chronologiques statistiques
 Seaborn fonctionne bien avec les structures de données NumPy et Pandas
 Il est livré avec des thèmes intégrés pour styliser les graphiques Matplotlib
Dans la plupart des cas, vous utiliserez toujours Matplotlib pour un traçage simple. La
connaissance de Matplotlib est recommandée pour modifier les graphiques par défaut de
Seaborn.
Dans ce chapitre, nous aborderons la configuration de l'environnement pour Seaborn.
Commençons par l'installation et comprenons comment commencer à mesure que nous
progressons.

Installation de Seaborn et mise en route


Dans cette section, nous comprendrons les étapes de l'installation de Seaborn.

Utilisation de Pip Installer


Pour installer la dernière version de Seaborn, vous pouvez utiliser pip -

pip install seaborn


Pour Windows, Linux et Mac utilisant Anaconda
Anaconda (à partir de https://www.anaconda.com/est une distribution Python gratuite pour la pile
SciPy. Il est également disponible pour Linux et Mac.
Il est également possible d'installer la version publiée en utilisant conda -

conda install seaborn

Pour installer la version de développement de Seaborn


directement depuis github
https://github.com/mwaskom/seaborn"

Dépendances
Considérez les dépendances suivantes de Seaborn -
 Python 2.7 ou 3.4+
 numpy
 scipy
 pandas
 matplotlib
Dans ce chapitre, nous verrons comment importer des ensembles de données et des
bibliothèques. Commençons par comprendre comment importer des bibliothèques.

Importation de bibliothèques
Commençons par importer Pandas, qui est une excellente bibliothèque pour gérer des
ensembles de données relationnelles (au format table). Seaborn est pratique lorsqu'il s'agit de
DataFrames, qui est la structure de données la plus largement utilisée pour l'analyse des
données.
La commande suivante vous aidera à importer des Pandas -

# Pandas for managing datasets


import pandas as pd

Maintenant, importons la bibliothèque Matplotlib, qui nous aide à personnaliser nos graphiques.

# Matplotlib for additional customization


from matplotlib import pyplot as plt

Nous importerons la bibliothèque Seaborn avec la commande suivante -

# Seaborn for plotting and styling


import seaborn as sb
Importer des ensembles de données
Nous avons importé les bibliothèques requises. Dans cette section, nous allons comprendre
comment importer les jeux de données requis.
Seaborn est livré avec quelques ensembles de données importants dans la bibliothèque. Lorsque
Seaborn est installé, les jeux de données sont téléchargés automatiquement.
Vous pouvez utiliser l'un de ces ensembles de données pour votre apprentissage. Avec l'aide de
la fonction suivante, vous pouvez charger le jeu de données requis

load_dataset()

Importation de données en tant que


Pandas DataFrame
Dans cette section, nous importerons un ensemble de données. Cet ensemble de données se
charge par défaut en tant que Pandas DataFrame. S'il y a une fonction dans le Pandas
DataFrame, cela fonctionne sur ce DataFrame.
La ligne de code suivante vous aidera à importer l'ensemble de données -

# Seaborn for plotting and styling


import seaborn as sb
df = sb.load_dataset('tips')
print df.head()

La ligne de code ci-dessus générera la sortie suivante -

total_bill tip sex smoker day time size


0 16.99 1.01 Female No Sun Dinner 2
1 10.34 1.66 Male No Sun Dinner 3
2 21.01 3.50 Male No Sun Dinner 3
3 23.68 3.31 Male No Sun Dinner 2
4 24.59 3.61 Female No Sun Dinner 4

Pour afficher tous les ensembles de données disponibles dans la bibliothèque Seaborn, vous
pouvez utiliser la commande suivante avec le get_dataset_names() fonction comme indiqué ci-
dessous -

import seaborn as sb
print sb.get_dataset_names()

La ligne de code ci-dessus renverra la liste des ensembles de données disponibles comme sortie
suivante

[u'anscombe', u'attention', u'brain_networks', u'car_crashes', u'dots',


u'exercise', u'flights', u'fmri', u'gammas', u'iris', u'planets', u'tips',
u'titanic']

DataFramesstocker les données sous la forme de grilles rectangulaires permettant de visualiser


facilement les données. Chaque ligne de la grille rectangulaire contient les valeurs d'une instance
et chaque colonne de la grille est un vecteur qui contient des données pour une variable
spécifique. Cela signifie que les lignes d'un DataFrame n'ont pas besoin de contenir, les valeurs
du même type de données, elles peuvent être numériques, caractères, logiques, etc. Les
DataFrames pour Python sont livrés avec la bibliothèque Pandas, et ils sont définis comme des
structures de données étiquetées bidimensionnelles avec des types de colonnes potentiellement
différents.
Pour plus de détails sur les DataFrames, visitez notre tutoriel sur les pandas.
La visualisation des données est une étape et rendre les données visualisées plus agréables en
est une autre. La visualisation joue un rôle essentiel dans la communication d'informations
quantitatives à un public pour attirer son attention.
L'esthétique signifie un ensemble de principes concernant la nature et l'appréciation de la beauté,
en particulier dans l'art. La visualisation est un art de représenter les données de la manière la
plus efficace et la plus simple possible.
La bibliothèque Matplotlib prend fortement en charge la personnalisation, mais savoir quels
paramètres modifier pour obtenir un tracé attrayant et anticipé est ce dont il faut être conscient
pour l'utiliser. Contrairement à Matplotlib, Seaborn est livré avec des thèmes personnalisés et
une interface de haut niveau pour personnaliser et contrôler l'apparence des figurines Matplotlib.

Exemple
import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip = 1):
x = np.linspace(0, 14, 100)
for i in range(1, 5):
plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
sinplot()
plt.show()

Voici à quoi ressemble un tracé avec les valeurs par défaut Matplotlib -
Pour changer le même tracé en valeurs par défaut Seaborn, utilisez le set() fonction -

Exemple
import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip = 1):
x = np.linspace(0, 14, 100)
for i in range(1, 5):
plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set()
sinplot()
plt.show()
Production

Les deux figures ci-dessus montrent la différence entre les graphiques par défaut de Matplotlib et
de Seaborn. La représentation des données est la même, mais le style de représentation varie
dans les deux.
Fondamentalement, Seaborn divise les paramètres de Matplotlib en deux groupes -
 Styles de tracé
 Échelle de tracé

Styles de figurines Seaborn


L'interface de manipulation des styles est set_style(). En utilisant cette fonction, vous pouvez
définir le thème du tracé. Selon la dernière version mise à jour, vous trouverez ci-dessous les
cinq thèmes disponibles.
 Darkgrid
 Whitegrid
 Dark
 White
 Ticks
Essayons d'appliquer un thème de la liste ci-dessus. Le thème par défaut du tracé
seradarkgrid ce que nous avons vu dans l'exemple précédent.

Exemple
import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip=1):
x = np.linspace(0, 14, 100)
for i in range(1, 5):
plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set_style("whitegrid")
sinplot()
plt.show()

Production

La différence entre les deux tracés ci-dessus est la couleur d'arrière-plan

Retirer les épines des haches


Dans les thèmes blancs et coches, nous pouvons supprimer les épines des axes supérieur et
droit à l'aide du bouton despine() fonction.

Exemple
import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip=1):
x = np.linspace(0, 14, 100)
for i in range(1, 5):
plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set_style("white")
sinplot()
sb.despine()
plt.show()

Production

Dans les graphiques réguliers, nous utilisons uniquement les axes gauche et inférieur. En
utilisant ledespine() fonction, nous pouvons éviter les épines inutiles des axes droit et supérieur,
ce qui n'est pas pris en charge dans Matplotlib.

Remplacer les éléments


Si vous souhaitez personnaliser les styles Seaborn, vous pouvez transmettre un dictionnaire de
paramètres au set_style() fonction. Les paramètres disponibles sont affichés à l'aide
deaxes_style() fonction.

Exemple
import seaborn as sb
print sb.axes_style
Production
{'axes.axisbelow' : False,
'axes.edgecolor' : 'white',
'axes.facecolor' : '#EAEAF2',
'axes.grid' : True,
'axes.labelcolor' : '.15',
'axes.linewidth' : 0.0,
'figure.facecolor' : 'white',
'font.family' : [u'sans-serif'],
'font.sans-serif' : [u'Arial', u'Liberation
Sans', u'Bitstream Vera Sans', u'sans-serif'],
'grid.color' : 'white',
'grid.linestyle' : u'-',
'image.cmap' : u'Greys',
'legend.frameon' : False,
'legend.numpoints' : 1,
'legend.scatterpoints': 1,
'lines.solid_capstyle': u'round',
'text.color' : '.15',
'xtick.color' : '.15',
'xtick.direction' : u'out',
'xtick.major.size' : 0.0,
'xtick.minor.size' : 0.0,
'ytick.color' : '.15',
'ytick.direction' : u'out',
'ytick.major.size' : 0.0,
'ytick.minor.size' : 0.0}

La modification des valeurs de l'un des paramètres modifie le style de tracé.

Exemple
import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip=1):
x = np.linspace(0, 14, 100)
for i in range(1, 5):
plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set_style("darkgrid", {'axes.axisbelow': False})
sinplot()
sb.despine()
plt.show()

Production

Mise à l'échelle des éléments de tracé


Nous contrôlons également les éléments de la parcelle et pouvons contrôler l'échelle de la
parcelle à l'aide du set_context()fonction. Nous avons quatre modèles prédéfinis pour les
contextes, basés sur la taille relative, les contextes sont nommés comme suit
 Paper
 Notebook
 Talk
 Poster
Par défaut, le contexte est défini sur notebook; et a été utilisé dans les graphiques ci-dessus.

Exemple
import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip = 1):
x = np.linspace(0, 14, 100)
for i in range(1, 5):
plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set_style("darkgrid", {'axes.axisbelow': False})
sinplot()
sb.despine()
plt.show()

Production

La taille de sortie du tracé réel est plus grande que celle des tracés ci-dessus.
Note - En raison de la mise à l'échelle des images sur notre page Web, vous pourriez manquer la
différence réelle dans nos graphiques d'exemple.
La couleur joue un rôle important que tout autre aspect dans les visualisations. Lorsqu'elle est
utilisée efficacement, la couleur ajoute plus de valeur au tracé. Une palette signifie une surface
plane sur laquelle un peintre dispose et mélange les peintures.

Palette de couleurs du bâtiment


Seaborn fournit une fonction appelée color_palette(), qui peut être utilisé pour donner des
couleurs aux tracés et leur ajouter plus de valeur esthétique.
Usage
seaborn.color_palette(palette = None, n_colors = None, desat = None)

Paramètre
Le tableau suivant répertorie les paramètres de création de la palette de couleurs -

N ° Sr. Palatte et description

1 n_colors
Nombre de couleurs dans la palette. Si Aucun, la valeur par défaut dépendra de la façon dont la pale
den_colors est de 6 couleurs.

2 desat
Proportion pour désaturer chaque couleur.

Revenir
Return fait référence à la liste des tuples RVB. Voici les palettes Seaborn facilement disponibles -
 Deep
 Muted
 Bright
 Pastel
 Dark
 Colorblind
Outre ceux-ci, on peut également générer une nouvelle palette
Il est difficile de décider quelle palette utiliser pour un ensemble de données donné sans
connaître les caractéristiques des données. En étant conscient, nous classerons les différentes
manières d'utilisercolor_palette() types -
 qualitative
 sequential
 diverging
Nous avons une autre fonction seaborn.palplot()qui traite des palettes de couleurs. Cette
fonction trace la palette de couleurs sous forme de tableau horizontal. Nous en saurons plus
surseaborn.palplot() dans les exemples à venir.

Palettes de couleurs qualitatives


Les palettes qualitatives ou catégorielles conviennent le mieux pour tracer les données
catégorielles.
Exemple
from matplotlib import pyplot as plt
import seaborn as sb
current_palette = sb.color_palette()
sb.palplot(current_palette)
plt.show()

Production

Nous n'avons passé aucun paramètre dans color_palette();par défaut, nous voyons 6 couleurs.
Vous pouvez voir le nombre de couleurs souhaité en passant une valeur aun_colorsparamètre.
Ici lepalplot() est utilisé pour tracer le tableau de couleurs horizontalement.

Palettes de couleurs séquentielles


Les graphiques séquentiels conviennent pour exprimer la distribution de données allant de
valeurs relativement faibles à des valeurs plus élevées dans une plage.
L'ajout d'un caractère supplémentaire «s» à la couleur passée au paramètre de couleur tracera le
tracé séquentiel.

Exemple
from matplotlib import pyplot as plt
import seaborn as sb
current_palette = sb.color_palette()
sb.palplot(sb.color_palette("Greens"))
plt.show()

Note −Nous devons ajouter «s» au paramètre comme «Verts» dans l'exemple ci-dessus.
Palette de couleurs divergentes
Les palettes divergentes utilisent deux couleurs différentes. Chaque couleur représente une
variation de la valeur allant d'un point commun dans les deux sens.
Supposons de tracer les données comprises entre -1 et 1. Les valeurs de -1 à 0 prennent une
couleur et 0 à +1 en prend une autre.
Par défaut, les valeurs sont centrées à partir de zéro. Vous pouvez le contrôler avec le centre des
paramètres en passant une valeur.

Exemple
from matplotlib import pyplot as plt
import seaborn as sb
current_palette = sb.color_palette()
sb.palplot(sb.color_palette("BrBG", 7))
plt.show()

Production

Définition de la palette de couleurs par


défaut
Les fonctions color_palette() a un compagnon appelé set_palette()La relation entre eux est
similaire aux paires couvertes dans le chapitre sur l'esthétique. Les arguments sont les mêmes
pour les deuxset_palette() et color_palette(), mais les paramètres par défaut de Matplotlib sont
modifiés pour que la palette soit utilisée pour tous les tracés.

Exemple
import numpy as np
from matplotlib import pyplot as plt
def sinplot(flip = 1):
x = np.linspace(0, 14, 100)
for i in range(1, 5):
plt.plot(x, np.sin(x + i * .5) * (7 - i) * flip)
import seaborn as sb
sb.set_style("white")
sb.set_palette("husl")
sinplot()
plt.show()

Production

Tracer une distribution univariée


La distribution des données est la chose la plus importante que nous devons comprendre lors de
l'analyse des données. Ici, nous verrons comment seaborn nous aide à comprendre la
distribution univariée des données.
Fonction distplot()fournit le moyen le plus pratique de jeter un coup d'œil rapide sur la
distribution univariée. Cette fonction tracera un histogramme qui correspond à l'estimation de la
densité du noyau des données.

Usage
seaborn.distplot()

Paramètres
Le tableau suivant répertorie les paramètres et leur description -

N ° Sr. Paramètre et description


1 data
Série, baie 1d ou liste

2 bins
Spécification des bacs hist

3 hist
booléen

4 kde
booléen

Ce sont des paramètres fondamentaux et importants à examiner.


Les histogrammes représentent la distribution des données en formant des casiers le long de la
plage des données, puis en dessinant des barres pour montrer le nombre d'observations qui
tombent dans chaque casier.
Seaborn est livré avec quelques jeux de données et nous avons utilisé peu de jeux de données
dans nos chapitres précédents. Nous avons appris à charger l'ensemble de données et à
rechercher la liste des ensembles de données disponibles.
Seaborn est livré avec quelques jeux de données et nous avons utilisé peu de jeux de données
dans nos chapitres précédents. Nous avons appris à charger l'ensemble de données et à
rechercher la liste des ensembles de données disponibles.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.distplot(df['petal_length'],kde = False)
plt.show()
Production

Ici, kdel'indicateur est défini sur False. En conséquence, la représentation du tracé d'estimation
du noyau sera supprimée et seul l'histogramme sera tracé.
L'estimation de densité de noyau (KDE) est un moyen d'estimer la fonction de densité de
probabilité d'une variable aléatoire continue. Il est utilisé pour l'analyse non paramétrique.
Réglage du hist flag à False in distplot donnera le tracé d'estimation de la densité du noyau.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.distplot(df['petal_length'],hist=False)
plt.show()
Production

Ajustement de la distribution
paramétrique
distplot() est utilisé pour visualiser la distribution paramétrique d'un jeu de données.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.distplot(df['petal_length'])
plt.show()
Production

Tracé de la distribution bivariée


La distribution bivariée est utilisée pour déterminer la relation entre deux variables. Cela
concerne principalement la relation entre deux variables et la façon dont une variable se
comporte par rapport à l'autre.
La meilleure façon d'analyser la distribution bivariée dans seaborn est d'utiliser
le jointplot() fonction.
Jointplot crée une figure multi-panneaux qui projette la relation bivariée entre deux variables ainsi
que la distribution univariée de chaque variable sur des axes séparés.

Nuage de points
Le nuage de points est le moyen le plus pratique de visualiser la distribution où chaque
observation est représentée dans un tracé bidimensionnel via les axes x et y.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.jointplot(x = 'petal_length',y = 'petal_width',data = df)
plt.show()
Production

La figure ci-dessus montre la relation entre les petal_length et petal_widthdans les données
Iris. Une tendance dans le graphique indique qu'il existe une corrélation positive entre les
variables à l'étude.

Tracé Hexbin
Le regroupement hexagonal est utilisé dans l'analyse de données bivariées lorsque la densité
des données est clairsemée, c'est-à-dire lorsque les données sont très dispersées et difficiles à
analyser à travers des nuages de points.
Un paramètre d'addition appelé «kind» et une valeur «hex» trace le tracé hexbin.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.jointplot(x = 'petal_length',y = 'petal_width',data = df,kind = 'hex')
plt.show()
Estimation de la densité du noyau
L'estimation de la densité par noyau est une manière non paramétrique d'estimer la distribution
d'une variable. Dans seaborn, nous pouvons tracer un kde en utilisantjointplot().
Passez la valeur 'kde' au paramètre kind pour tracer le tracé du noyau.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.jointplot(x = 'petal_length',y = 'petal_width',data = df,kind = 'hex')
plt.show()
Production

Les ensembles de données étudiés en temps réel contiennent de nombreuses variables. Dans
de tels cas, la relation entre chaque variable doit être analysée. Tracer une distribution bivariée
pour (n, 2) combinaisons sera un processus très complexe et prenant du temps.
Pour tracer plusieurs distributions bivariées par paires dans un jeu de données, vous pouvez
utiliser pairplot()fonction. Cela montre la relation pour (n, 2) combinaison de variable dans un
DataFrame sous forme de matrice de tracés et les tracés diagonaux sont les tracés univariés.

Haches
Dans cette section, nous allons apprendre ce que sont les axes, leur utilisation, leurs paramètres,
etc.

Usage
seaborn.pairplot(data,…)

Paramètres
Le tableau suivant répertorie les paramètres des axes -

N ° Sr. Paramètre et description


1 data
Trame de données

2 hue
Variable dans les données pour mapper les aspects du tracé à différentes couleurs.

3 palette
Ensemble de couleurs pour mapper la variable de teinte

4 kind
Genre d'intrigue pour les relations non identitaires. {'scatter', 'reg'}

5 diag_kind
Type de tracé pour les sous-tracés diagonaux. {'hist', 'kde'}

À l'exception des données, tous les autres paramètres sont facultatifs. Il y a peu d'autres
paramètres quipairplotPeut accepter. Les paramètres mentionnés ci-dessus sont souvent
utilisés.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.set_style("ticks")
sb.pairplot(df,hue = 'species',diag_kind = "kde",kind = "scatter",palette =
"husl")
plt.show()
Production

Nous pouvons observer les variations dans chaque parcelle. Les tracés sont au format matriciel
où le nom de ligne représente l'axe x et le nom de colonne représente l'axe y.
Les tracés diagonaux sont des tracés de densité de noyau où les autres tracés sont des
diagrammes de dispersion comme mentionné.
Dans nos chapitres précédents, nous avons découvert les nuages de points, les graphiques
hexbin et les graphiques kde qui sont utilisés pour analyser les variables continues étudiées. Ces
graphiques ne conviennent pas lorsque la variable à l'étude est catégorique.
Quand une ou les deux variables à l'étude sont catégoriques, nous utilisons des graphiques
comme striplot (), swarmplot (), etc. Seaborn fournit une interface pour ce faire.

Nuage de points catégoriels


Dans cette section, nous en apprendrons davantage sur les nuages de points catégoriels.

stripplot ()
stripplot () est utilisé lorsque l'une des variables étudiées est catégorique. Il représente les
données dans l'ordre trié le long de l'un des axes.
Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.stripplot(x = "species", y = "petal_length", data = df)
plt.show()

Production

Dans le graphique ci-dessus, nous pouvons clairement voir la différence de petal_lengthdans


chaque espèce. Mais le problème majeur avec le nuage de points ci-dessus est que les points du
nuage de points se chevauchent. Nous utilisons le paramètre 'Jitter' pour gérer ce type de
scénario.
Jitter ajoute du bruit aléatoire aux données. Ce paramètre ajustera les positions le long de l'axe
des catégories.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.stripplot(x = "species", y = "petal_length", data = df, jitter = Ture)
plt.show()

Production

Désormais, la répartition des points est facilement visible.

Parcelle d'essaim ()
Une autre option qui peut être utilisée comme alternative à 'Jitter' est la fonction swarmplot().
Cette fonction positionne chaque point du nuage de points sur l'axe catégoriel et évite ainsi le
chevauchement des points -

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.swarmplot(x = "species", y = "petal_length", data = df)
plt.show()
Production

Dans les nuages de points catégoriels que nous avons traités dans le chapitre précédent,
l'approche devient limitée dans les informations qu'elle peut fournir sur la distribution des valeurs
au sein de chaque catégorie. Maintenant, en allant plus loin, voyons ce qui peut nous faciliter la
comparaison avec les catégories.

Boîtes à moustaches
Boxplot est un moyen pratique de visualiser la distribution des données à travers leurs quartiles.
Les boîtes à moustaches ont généralement des lignes verticales s'étendant des boîtes qui sont
appelées moustaches. Ces moustaches indiquent une variabilité en dehors des quartiles
supérieur et inférieur, c'est pourquoi les boîtes à moustaches sont également appeléesbox-and-
whisker intrigue et box-and-whisker diagramme. Toutes les valeurs aberrantes dans les
données sont tracées sous forme de points individuels.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.swarmplot(x = "species", y = "petal_length", data = df)
plt.show()
Production

Les points sur le graphique indiquent la valeur aberrante.

Parcelles de violon
Les graphiques de violon sont une combinaison de la boîte à moustaches et des estimations de
densité du noyau. Ainsi, ces graphiques sont plus faciles à analyser et à comprendre la
distribution des données.
Utilisons l'ensemble de données de conseils appelé pour en savoir plus sur les parcelles de
violon. Cet ensemble de données contient les informations relatives aux pourboires donnés par
les clients d'un restaurant.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
sb.violinplot(x = "day", y = "total_bill", data=df)
plt.show()
Production

Les valeurs de quartile et de moustache de la boîte à moustaches sont affichées à l'intérieur du


violon. Comme l'intrigue du violon utilise KDE, la partie la plus large du violon indique la densité
la plus élevée et la région étroite représente une densité relativement plus faible. La gamme
Inter-Quartile en boxplot et la portion de densité plus élevée en kde tombent dans la même
région de chaque catégorie de violon plot.
Le graphique ci-dessus montre la distribution de total_bill sur quatre jours de la semaine. Mais,
en plus de cela, si nous voulons voir comment la distribution se comporte par rapport au sexe,
explorons-la dans l'exemple ci-dessous.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
sb.violinplot(x = "day", y = "total_bill",hue = 'sex', data = df)
plt.show()
Production

Maintenant, nous pouvons clairement voir le comportement de dépenses entre les hommes et les
femmes. On peut facilement dire que les hommes font plus de factures que les femmes en
regardant l'intrigue.
Et, si la variable de teinte n'a que deux classes, nous pouvons embellir l'intrigue en divisant
chaque violon en deux au lieu de deux violons un jour donné. Les deux parties du violon se
réfèrent à chaque classe dans la variable de teinte.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
sb.violinplot(x = "day", y="total_bill",hue = 'sex', data = df)
plt.show()
Production

Dans la plupart des situations, nous traitons des estimations de l'ensemble de la distribution des
données. Mais quand il s'agit d'estimer la tendance centrale, nous avons besoin d'une manière
spécifique de résumer la distribution. La moyenne et la médiane sont les techniques très souvent
utilisées pour estimer la tendance centrale de la distribution.
Dans toutes les parcelles que nous avons apprises dans la section ci-dessus, nous avons fait la
visualisation de l'ensemble de la distribution. Parlons maintenant des parcelles avec lesquelles
nous pouvons estimer la tendance centrale de la distribution.

Bar Plot
le barplot()montre la relation entre une variable catégorielle et une variable continue. Les
données sont représentées dans des barres rectangulaires où la longueur de la barre représente
la proportion des données dans cette catégorie.
Le graphique à barres représente l'estimation de la tendance centrale. Utilisons le jeu de
données «titanesque» pour apprendre les graphiques à barres.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('titanic')
sb.barplot(x = "sex", y = "survived", hue = "class", data = df)
plt.show()
Production

Dans l'exemple ci-dessus, nous pouvons voir que le nombre moyen de survivances des hommes
et des femmes dans chaque classe. À partir de l'intrigue, nous pouvons comprendre que plus de
femmes ont survécu que d'hommes. Chez les hommes et les femmes, un plus grand nombre de
survivants proviennent de la première classe.
Un cas particulier dans le barplot est de montrer le nombre d'observations dans chaque catégorie
plutôt que de calculer une statistique pour une deuxième variable. Pour cela, nous
utilisonscountplot().

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('titanic')
sb.countplot(x = " class ", data = df, palette = "Blues");
plt.show()
Production

Plot dit que, le nombre de passagers dans la troisième classe est plus élevé que dans la
première et la deuxième classe.

Tracés de points
Les tracés de points servent de même que les tracés à barres mais dans un style différent. Plutôt
que la barre entière, la valeur de l'estimation est représentée par le point à une certaine hauteur
sur l'autre axe.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('titanic')
sb.pointplot(x = "sex", y = "survived", hue = "class", data = df)
plt.show()
Production

Il est toujours préférable d'utiliser des ensembles de données «depuis longtemps» ou «rangés».
Mais parfois, lorsque nous n'avons aucune option plutôt que d'utiliser un ensemble de données
«grand format», les mêmes fonctions peuvent également être appliquées aux données «grand
format» dans une variété de formats, y compris les cadres de données Pandas ou NumPy
bidimensionnel tableaux. Ces objets doivent être passés directement au paramètre de données
les variables x et y doivent être spécifiées sous forme de chaînes

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.boxplot(data = df, orient = "h")
plt.show()
Production

De plus, ces fonctions acceptent des vecteurs d'objets Pandas ou NumPy plutôt que des
variables dans un DataFrame.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
sb.boxplot(data = df, orient = "h")
plt.show()
Production

Le principal avantage de l'utilisation de Seaborn pour de nombreux développeurs dans le monde


Python est qu'il peut prendre l'objet pandas DataFrame comme paramètre.
Les données catégorielles peuvent-elles être visualisées à l'aide de deux graphiques, vous
pouvez soit utiliser les fonctions pointplot(), ou la fonction de niveau supérieur factorplot().

Factorplot
Factorplot dessine un tracé catégoriel sur un FacetGrid. En utilisant le paramètre «kind», nous
pouvons choisir l'intrigue comme boxplot, violinplot, barplot et stripplot. FacetGrid utilise le
pointplot par défaut.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('exercise')
sb.factorplot(x = "time", y = pulse", hue = "kind",data = df);
plt.show()
Production

Nous pouvons utiliser différents graphiques pour visualiser les mêmes données en utilisant
le kind paramètre.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('exercise')
sb.factorplot(x = "time", y = "pulse", hue = "kind", kind = 'violin',data =
df);
plt.show()
Production

Dans factorplot, les données sont tracées sur une grille à facettes.

Qu'est-ce que Facet Grid?


Facet grid forme une matrice de panneaux définis par ligne et colonne en divisant les variables.
En raison des panneaux, une seule parcelle ressemble à plusieurs parcelles. Il est très utile
d'analyser toutes les combinaisons de deux variables discrètes.
Visualisons la définition ci-dessus avec un exemple

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('exercise')
sb.factorplot(x = "time", y = "pulse", hue = "kind", kind = 'violin', col =
"diet", data = df);
plt.show()
Production

L'avantage d'utiliser Facet est que nous pouvons entrer une autre variable dans le graphique. Le
graphique ci-dessus est divisé en deux graphiques basés sur une troisième variable appelée
«régime» utilisant le paramètre «col».
Nous pouvons créer de nombreuses facettes de colonne et les aligner avec les lignes de la grille
-

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('titanic')
sb.factorplot("alive", col = "deck", col_wrap = 3,data =
df[df.deck.notnull()],kind = "count")
plt.show()
production

La plupart du temps, nous utilisons des ensembles de données contenant plusieurs variables
quantitatives, et le but d'une analyse est souvent de relier ces variables entre elles. Cela peut
être fait à travers les lignes de régression.
Lors de la construction des modèles de régression, nous vérifions souvent multicollinearity,où
nous devions voir la corrélation entre toutes les combinaisons de variables continues et
prendrons les mesures nécessaires pour supprimer la multicolinéarité si elle existe. Dans de tels
cas, les techniques suivantes sont utiles.

Fonctions pour dessiner des modèles de


régression linéaire
Il existe deux fonctions principales dans Seaborn pour visualiser une relation linéaire déterminée
par régression. Ces fonctions sontregplot() et lmplot().

regplot vs lmplot
regplot lmplot
accepte les variables x et y dans une variété de formats, y compris des tableaux a des données comme paramèt
numpy simples, des objets de la série pandas ou comme références à des doivent être spécifiées sous for
variables dans un DataFrame pandas est appelé données «longues»

Tirons maintenant les graphiques.

Exemple
Tracer le regplot puis lmplot avec les mêmes données dans cet exemple

import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
sb.regplot(x = "total_bill", y = "tip", data = df)
sb.lmplot(x = "total_bill", y = "tip", data = df)
plt.show()

Production
Vous pouvez voir la différence de taille entre deux parcelles.

Nous pouvons également ajuster une régression linéaire lorsque l'une des variables prend des
valeurs discrètes

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
sb.lmplot(x = "size", y = "tip", data = df)
plt.show()

Production

Montage de différents types de modèles


Le modèle de régression linéaire simple utilisé ci-dessus est très simple à ajuster, mais dans la
plupart des cas, les données ne sont pas linéaires et les méthodes ci-dessus ne peuvent pas
généraliser la droite de régression.
Utilisons le jeu de données d'Anscombe avec les graphiques de régression -

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('anscombe')
sb.lmplot(x="x", y="y", data=df.query("dataset == 'I'"))
plt.show()
Dans ce cas, les données correspondent bien au modèle de régression linéaire avec moins de
variance.
Voyons un autre exemple où les données prennent un écart élevé, ce qui montre que la ligne de
meilleur ajustement n'est pas bonne.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('anscombe')
sb.lmplot(x = "x", y = "y", data = df.query("dataset == 'II'"))
plt.show()
Production

Le graphique montre l'écart élevé des points de données par rapport à la droite de régression. Un
tel ordre supérieur non linéaire peut être visualisé en utilisant lelmplot() et regplot()Ils peuvent
s'adapter à un modèle de régression polynomiale pour explorer des types simples de tendances
non linéaires dans l'ensemble de données -

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('anscombe')
sb.lmplot(x = "x", y = "y", data = df.query("dataset == 'II'"),order = 2)
plt.show()
Production

Une approche utile pour explorer des données de dimension moyenne consiste à dessiner
plusieurs instances du même graphique sur différents sous-ensembles de votre ensemble de
données.
Cette technique est communément appelée «tracé en treillis» ou «trellis», et elle est liée à l'idée
de «petits multiples».
Pour utiliser ces fonctionnalités, vos données doivent se trouver dans un Pandas DataFrame.

Tracer de petits multiples de sous-


ensembles de données
Dans le chapitre précédent, nous avons vu l'exemple FacetGrid où la classe FacetGrid aide à
visualiser la distribution d'une variable ainsi que la relation entre plusieurs variables séparément
dans des sous-ensembles de votre ensemble de données à l'aide de plusieurs panneaux.
Un FacetGrid peut être dessiné avec jusqu'à trois dimensions - ligne, col et teinte. Les deux
premiers ont une correspondance évidente avec le tableau d'axes résultant; considérez la
variable de teinte comme une troisième dimension le long d'un axe de profondeur, où différents
niveaux sont tracés avec différentes couleurs.
FacetGrid object prend un dataframe comme entrée et les noms des variables qui formeront les
dimensions de ligne, de colonne ou de teinte de la grille.
Les variables doivent être catégoriques et les données à chaque niveau de la variable seront
utilisées pour une facette le long de cet axe.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
g = sb.FacetGrid(df, col = "time")
plt.show()

Production

Dans l'exemple ci-dessus, nous venons d'initialiser le facetgrid objet qui ne dessine rien sur eux.
La principale approche pour visualiser les données sur cette grille consiste
à FacetGrid.map()méthode. Regardons la distribution des pointes dans chacun de ces sous-
ensembles, à l'aide d'un histogramme.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
g = sb.FacetGrid(df, col = "time")
g.map(plt.hist, "tip")
plt.show()
Production

Le nombre de tracés est supérieur à un en raison du paramètre col. Nous avons discuté du
paramètre col dans nos chapitres précédents.
Pour créer un tracé relationnel, transmettez les noms de variables multiples.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('tips')
g = sb.FacetGrid(df, col = "sex", hue = "smoker")
g.map(plt.scatter, "total_bill", "tip")
plt.show()

Production

PairGrid nous permet de dessiner une grille de sous-tracés en utilisant le même type de tracé
pour visualiser les données.
Contrairement à FacetGrid, il utilise différentes paires de variables pour chaque sous-tracé. Il
forme une matrice de sous-parcelles. Elle est aussi parfois appelée «matrice de nuage de
points».
L'utilisation de pairgrid est similaire à facetgrid. Initialisez d'abord la grille, puis passez la fonction
de traçage.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
g = sb.PairGrid(df)
g.map(plt.scatter);
plt.show()

Il est également possible de tracer une fonction différente sur la diagonale pour montrer la
distribution univariée de la variable dans chaque colonne.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
g = sb.PairGrid(df)
g.map_diag(plt.hist)
g.map_offdiag(plt.scatter);
plt.show()

Production

Nous pouvons personnaliser la couleur de ces graphiques en utilisant une autre variable
catégorielle. Par exemple, l'ensemble de données sur l'iris comporte quatre mesures pour
chacune des trois espèces différentes de fleurs d'iris afin que vous puissiez voir en quoi elles
diffèrent.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
g = sb.PairGrid(df)
g.map_diag(plt.hist)
g.map_offdiag(plt.scatter);
plt.show()

Production

Nous pouvons utiliser une fonction différente dans les triangles supérieur et inférieur pour voir
différents aspects de la relation.

Exemple
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df = sb.load_dataset('iris')
g = sb.PairGrid(df)
g.map_upper(plt.scatter)
g.map_lower(sb.kdeplot, cmap = "Blues_d")
g.map_diag(sb.kdeplot, lw = 3, legend = False);
plt.show()

Production

Vous aimerez peut-être aussi