Personnaliser les préférences

Nous utilisons des cookies pour vous aider à naviguer efficacement et à exécuter certaines fonctions. Vous trouverez ci-dessous des informations détaillées sur tous les cookies sous chaque catégorie de consentement.

Les cookies classés comme « Nécessaires » sont stockés sur votre navigateur car ils sont essentiels pour activer les fonctionnalités de base du site.... 

Toujours actif

Necessary cookies are required to enable the basic features of this site, such as providing secure log-in or adjusting your consent preferences. These cookies do not store any personally identifiable data.

Aucun cookie à afficher.

Functional cookies help perform certain functionalities like sharing the content of the website on social media platforms, collecting feedback, and other third-party features.

Aucun cookie à afficher.

Analytical cookies are used to understand how visitors interact with the website. These cookies help provide information on metrics such as the number of visitors, bounce rate, traffic source, etc.

Aucun cookie à afficher.

Performance cookies are used to understand and analyze the key performance indexes of the website which helps in delivering a better user experience for the visitors.

Aucun cookie à afficher.

Advertisement cookies are used to provide visitors with customized advertisements based on the pages you visited previously and to analyze the effectiveness of the ad campaigns.

Aucun cookie à afficher.

Comment afficher l’équation de régression dans Seaborn Regplot



Vous pouvez utiliser la fonction seaborn regplot pour tracer un modèle de régression linéaire adapté à un ensemble de données.

Malheureusement, Seaborn n’a pas de fonctionnalité intégrée pour extraire l’équation de régression de la droite, mais vous pouvez utiliser la fonction scipy.stats.linregress pour trouver rapidement les coefficients de régression :

import scipy
import seaborn as sns

#create regplot
p = sns.regplot(data=df, x=df.x, y=df.y)

#calculate slope and intercept of regression equation
slope, intercept, r, p, sterr = scipy.stats.linregress(x=p.get_lines()[0].get_xdata(),
                                                       y=p.get_lines()[0].get_ydata())

L’exemple suivant montre comment utiliser cette syntaxe dans la pratique.

Exemple : Afficher l’équation de régression dans Seaborn Regplot

Supposons que nous ayons le DataFrame pandas suivant qui contient des informations sur les heures étudiées et les résultats de l’examen final de divers étudiants :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'hours': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
                   'score': [77, 79, 84, 80, 81, 89, 95, 90, 83, 89]})

#view DataFrame
print(df)

   hours  score
0      1     77
1      2     79
2      3     84
3      4     80
4      5     81
5      6     89
6      7     95
7      8     90
8      9     83
9     10     89

Supposons que nous souhaitions tracer les points de données et ajouter une ligne de régression ajustée aux données.

Nous pouvons utiliser la syntaxe suivante pour ce faire :

import scipy
import seaborn as sns

#create regplot
p = sns.regplot(data=df, x=df.hours, y=df.score)

#calculate slope and intercept of regression equation
slope, intercept, r, p, sterr = scipy.stats.linregress(x=p.get_lines()[0].get_xdata(),
                                                       y=p.get_lines()[0].get_ydata())

#display slope and intercept of regression equation
print(intercept, slope)

77.39999999999995 1.3272727272727356

À partir du résultat, nous pouvons voir que la droite de régression a l’équation suivante :

y = 77,4 + 1,327

Si nous souhaitons afficher cette équation sur le regplot seaborn, nous pouvons utiliser la fonction text() de matplotlib :

import matplotlib.pyplot as plt
import scipy
import seaborn as sns

#create regplot
p = sns.regplot(data=df, x=df.hours, y=df.score)

#calculate slope and intercept of regression equation
slope, intercept, r, p, sterr = scipy.stats.linregress(x=p.get_lines()[0].get_xdata(),
                                                       y=p.get_lines()[0].get_ydata())

#add regression equation to plot
plt.text(2, 95, 'y = ' + str(round(intercept,3)) + ' + ' + str(round(slope,3)) + 'x')

équation de regplot Seaborn

Notez que l’équation de régression est désormais affichée dans le coin supérieur gauche du tracé.

Notez que dans la fonction text() , nous avons spécifié que l’équation de régression doit être affichée à partir des coordonnées (x, y) de (2, 95).

N’hésitez pas à modifier ces coordonnées pour afficher l’équation de régression là où vous le souhaitez dans votre propre tracé.

Remarque : Vous pouvez trouver la documentation complète de la fonction seaborn regplot ici .

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres tâches courantes dans Seaborn :

Comment ajuster la taille de la figure d’un tracé Seaborn
Comment changer la position d’une légende dans Seaborn
Comment modifier les étiquettes des axes sur un tracé Seaborn

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *