Comment calculer R-carré en Python (avec exemple)



R-carré , souvent écrit R 2 , est la proportion de la variance de la variable de réponse qui peut être expliquée par les variables prédictives dans un modèle de régression linéaire .

La valeur du R au carré peut varier de 0 à 1 où :

  • 0 indique que la variable de réponse ne peut pas du tout être expliquée par la variable prédictive.
  • 1 indique que la variable réponse peut être parfaitement expliquée sans erreur par les variables prédictives.

L’exemple suivant montre comment calculer R 2 pour un modèle de régression en Python.

Exemple : calculer R-carré en Python

Supposons que nous ayons le DataFrame pandas suivant :

import pandas as pd

#create DataFrame
df = pd.DataFrame({'hours': [1, 2, 2, 4, 2, 1, 5, 4, 2, 4, 4, 3, 6],
                   'prep_exams': [1, 3, 3, 5, 2, 2, 1, 1, 0, 3, 4, 3, 2],
                   'score': [76, 78, 85, 88, 72, 69, 94, 94, 88, 92, 90, 75, 96]})

#view DataFrame
print(df)

    hours  prep_exams  score
0       1           1     76
1       2           3     78
2       2           3     85
3       4           5     88
4       2           2     72
5       1           2     69
6       5           1     94
7       4           1     94
8       2           0     88
9       4           3     92
10      4           4     90
11      3           3     75
12      6           2     96

Nous pouvons utiliser la fonction LinearRegression() de sklearn pour ajuster un modèle de régression et la fonction score() pour calculer la valeur R au carré du modèle :

from sklearn.linear_model import LinearRegression

#initiate linear regression model
model = LinearRegression()

#define predictor and response variables
X, y = df[["hours", "prep_exams"]], df.score

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

#calculate R-squared of regression model
r_squared = model.score(X, y)

#view R-squared value
print(r_squared)

0.7175541714105901

Le R carré du modèle s’avère être 0,7176 .

Cela signifie que 71,76 % de la variation des résultats aux examens peut s’expliquer par le nombre d’heures étudiées et le nombre d’examens préparatoires passés.

Si nous le souhaitons, nous pourrions alors comparer cette valeur R au carré à un autre modèle de régression avec un ensemble différent de variables prédictives.

En général, les modèles avec des valeurs R au carré plus élevées sont préférés car cela signifie que l’ensemble de variables prédictives du modèle est capable d’expliquer bien la variation de la variable de réponse.

Connexes :Qu’est-ce qu’une bonne valeur R au carré ?

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 *