Coefficient de Détermination
Qu'est-ce que le R-carré
Nous avons abordé certains des indicateurs les plus utilisés pour la régression dans le chapitre Métriques. Il s'agit du MSE, du RMSE et du MAE. Ils sont utiles pour comparer des modèles, mais lorsque vous construisez un seul modèle, il n'est pas toujours évident de savoir si le score obtenu est bon pour votre jeu de données ou s'il est nécessaire d'essayer d'autres modèles.
Heureusement, il existe une métrique appelée R-carré qui mesure la performance du modèle sur une échelle de 0 à 1. Le R-carré calcule la proportion de la variance de la cible expliquée par le modèle.
Le problème est que nous ne pouvons pas calculer directement la variance expliquée. Cependant, nous pouvons calculer la variance inexpliquée, donc nous allons transformer l'équation ci-dessus comme suit :
Variance totale
La variance totale correspond simplement à la variance de la variable cible, que l’on peut calculer à l’aide de la formule de la variance d’échantillon en Statistiques (ȳ représente la moyenne de la cible) :
Voici un exemple avec une visualisation. Les différences entre la valeur réelle de la cible et la moyenne de la cible sont colorées en orange. Comme pour le calcul du SSR, on prend la longueur de chaque segment orange, on l’élève au carré, puis on l’ajoute à la somme, mais cette fois, on divise également le résultat par m-1. Ici, la variance totale obtenue est de 11.07.
Variance inexpliquée
Nous devons maintenant calculer la variance qui n’est pas expliquée par le modèle. Si le modèle expliquait toute la variance, tous les points seraient situés sur la droite de régression construite. Cela arrive rarement, donc nous souhaitons calculer la variance de la cible, mais cette fois par rapport à la droite de régression au lieu de la moyenne. Nous utiliserons la même formule, en remplaçant ȳ par les prédictions du modèle.
Voici un exemple avec une visualisation :
Nous savons maintenant tout ce qu'il faut pour calculer le R-carré :
Nous avons obtenu un score R-carré de 0,92, ce qui est proche de 1, donc nous avons un excellent modèle. Nous allons également calculer le R-carré pour un autre modèle.
Le R-carré est plus faible car le modèle sous-ajuste légèrement les données.
R-carré en Python
La classe sm.OLS
calcule le R-carré pour nous. Nous pouvons le trouver dans le tableau summary()
ici.
En résumé, le R-carré est une métrique pour la régression. Il peut prendre des valeurs de 0 à 1. Contrairement à d'autres métriques comme MSE/MAE, une valeur plus élevée est préférable (sauf si le modèle surajuste). Vous pouvez trouver le R-carré dans le tableau summary()
de la classe sm.OLS
.
Merci pour vos commentaires !