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 obtenir un résumé du modèle de régression à partir de Scikit-Learn



Souvent, vous souhaiterez peut-être extraire un résumé d’un modèle de régression créé à l’aide de scikit-learn en Python.

Malheureusement, scikit-learn n’offre pas de nombreuses fonctions intégrées pour analyser le résumé d’un modèle de régression, car il n’est généralement utilisé qu’à des fins prédictives .

Ainsi, si vous souhaitez obtenir un résumé d’un modèle de régression en Python, vous avez deux options :

1. Utilisez les fonctions limitées de scikit-learn.

2. Utilisez plutôt des modèles de statistiques .

Les exemples suivants montrent comment utiliser chaque méthode en pratique avec le DataFrame pandas suivant :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'x1': [1, 2, 2, 4, 2, 1, 5, 4, 2, 4, 4],
                   'x2': [1, 3, 3, 5, 2, 2, 1, 1, 0, 3, 4],
                   'y': [76, 78, 85, 88, 72, 69, 94, 94, 88, 92, 90]})

#view first five rows of DataFrame
df.head()

       x1      x2	 y
0	1	1	76
1	2	3	78
2	2	3	85
3	4	5	88
4	2	2	72

Méthode 1 : obtenir le résumé du modèle de régression à partir de Scikit-Learn

Nous pouvons utiliser le code suivant pour ajuster un modèle de régression linéaire multiple à l’aide de scikit-learn :

from sklearn.linear_model import LinearRegression

#initiate linear regression model
model = LinearRegression()

#define predictor and response variables
X, y = df[['x1', 'x2']], df.y

#fit regression model
model.fit(X, y)

Nous pouvons ensuite utiliser le code suivant pour extraire les coefficients de régression du modèle ainsi que la valeur R au carré du modèle :

#display regression coefficients and R-squared value of model
print(model.intercept_, model.coef_, model.score(X, y))

70.4828205704 [ 5.7945 -1.1576] 0.766742556527

En utilisant cette sortie, nous pouvons écrire l’équation du modèle de régression ajusté :

y = 70,48 + 5,79x 1 – 1,16x 2

On peut également voir que la valeur R 2 du modèle est de 76,67.

Cela signifie que 76,67 % de la variation de la variable de réponse peut être expliquée par les deux variables prédictives du modèle.

Bien que ce résultat soit utile, nous ne connaissons toujours pas la statistique F globale du modèle, les valeurs p des coefficients de régression individuels et d’autres mesures utiles qui peuvent nous aider à comprendre dans quelle mesure le modèle s’adapte à l’ensemble de données.

Méthode 2 : obtenir le résumé du modèle de régression à partir de Statsmodels

Si vous souhaitez extraire un résumé d’un modèle de régression en Python, il est préférable d’utiliser le package statsmodels .

Le code suivant montre comment utiliser ce package pour ajuster le même modèle de régression linéaire multiple que l’exemple précédent et extraire le résumé du modèle :

import statsmodels.api as sm

#define response variable
y = df['y']

#define predictor variables
x = df[['x1', 'x2']]

#add constant to predictor variables
x = sm.add_constant(x)

#fit linear regression model
model = sm.OLS(y, x).fit()

#view model summary
print(model.summary())

                            OLS Regression Results                            
==============================================================================
Dep. Variable:                      y   R-squared:                       0.767
Model:                            OLS   Adj. R-squared:                  0.708
Method:                 Least Squares   F-statistic:                     13.15
Date:                Fri, 01 Apr 2022   Prob (F-statistic):            0.00296
Time:                        11:10:16   Log-Likelihood:                -31.191
No. Observations:                  11   AIC:                             68.38
Df Residuals:                       8   BIC:                             69.57
Df Model:                           2                                         
Covariance Type:            nonrobust                                         
==============================================================================
                 coef    std err          t      P>|t|      [0.025      0.975]
------------------------------------------------------------------------------
const         70.4828      3.749     18.803      0.000      61.839      79.127
x1             5.7945      1.132      5.120      0.001       3.185       8.404
x2            -1.1576      1.065     -1.087      0.309      -3.613       1.298
==============================================================================
Omnibus:                        0.198   Durbin-Watson:                   1.240
Prob(Omnibus):                  0.906   Jarque-Bera (JB):                0.296
Skew:                          -0.242   Prob(JB):                        0.862
Kurtosis:                       2.359   Cond. No.                         10.7
==============================================================================

Notez que les coefficients de régression et la valeur R au carré correspondent à ceux calculés par scikit-learn, mais nous disposons également d’une tonne d’autres mesures utiles pour le modèle de régression.

Par exemple, nous pouvons voir les valeurs p pour chaque variable prédictive individuelle :

  • valeur p pour x 1 = 0,001
  • valeur p pour x 2 = 0,309

Nous pouvons également voir la statistique F globale du modèle, la valeur R au carré ajustée , la valeur AIC du modèle et bien plus encore.

Ressources additionnelles

Les didacticiels suivants expliquent comment effectuer d’autres opérations courantes en Python :

Comment effectuer une régression linéaire simple en Python
Comment effectuer une régression linéaire multiple en Python
Comment calculer l’AIC des modèles de régression en Python

Ajouter un commentaire

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