Kde Plot
Le KDE Plot est un outil fondamental pour estimer la densité de probabilité d’une variable continue de manière lisse. Contrairement à un histogramme, qui repose sur des intervalles discrets (bins), la courbe de densité (KDE) offre une représentation continue de la distribution, ce qui permet de mieux visualiser les tendances sous-jacentes, en particulier sur des échantillons plus petits ou bruyants.
Cette méthode repose sur une estimation par noyau (Kernel Density Estimation), qui calcule une densité en « étalant » chaque observation selon une fonction lisse (le noyau, généralement gaussien). Le paramètre de bande passante (bandwidth) détermine le niveau de lissage :
-
Une bande passante faible produit une courbe détaillée (mais bruitée)
-
Une bande passante élevée produit une courbe lissée (mais potentiellement trop simplifiée)
Pourquoi utiliser un KDE Plot ?
-
Pour observer la forme générale d’une distribution (nombre de modes, asymétrie…)
-
Pour comparer plusieurs distributions dans un même espace
-
Pour remplacer ou compléter un histogramme avec une courbe plus lisible
-
Pour des analyses exploratoires ou statistiques avancées
Fonctions :
-
sns.kdeplot()
La fonction sns.kdeplot() permet de tracer une estimation de la densité de probabilité d'une variable continue en utilisant une méthode de noyau. Cela donne une représentation lisse de la distribution des données sous forme de courbe.
Importation :
import seaborn as sns
Attributs :
Paramètre Type Description Valeur par défaut data
DataFrame Le DataFrame contenant les données à visualiser. None
x
str Nom de la variable à tracer sur l'axe des x (données continues). None
y
str Nom de la variable à tracer sur l'axe des y (facultatif). None
hue
str Nom de la variable à utiliser pour colorer la courbe par catégories. None
shade
bool Si True
, la zone sous la courbe sera ombrée.False
bw
float Largeur de bande (bandwidth) pour l'estimation de la densité. Un plus petit valeur rend la courbe plus lisse, une plus grande la rend plus rugueuse. None
vertical
bool Si True
, l'axe des x et y sont inversés (trace verticale).False
cumulative
bool Si True
, trace une courbe cumulative au lieu de la densité.False
ax
Axes Axes de matplotlib sur lequel dessiner le graphique. None
Exemple de code :
import seaborn as sns import matplotlib.pyplot as plt # Chargement du dataset "tips" data = sns.load_dataset("tips") # Tracer une estimation de la densité pour la variable total_bill sns.kdeplot(data=data, x="total_bill", shade=True) plt.show()
Explication du code :
import seaborn as sns
importe la bibliothèque seaborn, qui est utilisée pour la visualisation de données statistiques en Python.import matplotlib.pyplot as plt
importe la bibliothèque matplotlib.pyplot pour la création de graphiques.Chargement du dataset "tips"
data = sns.load_dataset("tips")
charge le dataset "tips", qui contient des informations sur les pourboires dans des restaurants, et l'assigne à la variabledata
.Tracer une estimation de la densité pour la variable 'total_bill'
sns.kdeplot(data=data, x="total_bill", shade=True)
trace une estimation de la densité de probabilité (KDE) pour la variable 'total_bill' (montant total de l'addition). Le paramètreshade=True
ajoute une zone ombrée sous la courbe pour mieux visualiser la distribution.Afficher le graphique
plt.show()
affiche le graphique généré à l'écran.