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 snsAttributs :
Paramètre Type Description Valeur par défaut dataDataFrame Le DataFrame contenant les données à visualiser. Nonexstr Nom de la variable à tracer sur l'axe des x (données continues). Noneystr Nom de la variable à tracer sur l'axe des y (facultatif). Nonehuestr Nom de la variable à utiliser pour colorer la courbe par catégories. Noneshadebool Si True, la zone sous la courbe sera ombrée.Falsebwfloat 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. Noneverticalbool Si True, l'axe des x et y sont inversés (trace verticale).Falsecumulativebool Si True, trace une courbe cumulative au lieu de la densité.FalseaxAxes Axes de matplotlib sur lequel dessiner le graphique. NoneExemple 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 snsimporte la bibliothèque seaborn, qui est utilisée pour la visualisation de données statistiques en Python.import matplotlib.pyplot as pltimporte 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=Trueajoute 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.