Contenu du cours
Régression Linéaire Avec Python
Régression Linéaire Avec Python
R-Carré
Qu'est-ce que le R-carré
Nous avons couvert certaines des métriques les plus utilisées pour la régression dans le chapitre Métriques. Ce sont MSE, RMSE et MAE. Ils sont bons pour comparer des modèles, mais lorsque vous construisez un modèle, vous ne comprenez pas toujours si c'est un bon score pour votre jeu de données ou si vous devez continuer à 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 la variance expliquée immédiatement. Mais nous pouvons calculer la variance inexpliquée, alors transformons l'équation ci-dessus en :
variance totale
La variance totale est simplement la variance de la cible, et nous pouvons calculer la variance de la cible en utilisant la formule de la variance de l'échantillon en Statistiques (ȳ est la moyenne de la cible) :
Voici un exemple avec visualisation. Les différences entre la valeur cible réelle et la moyenne de la cible sont colorées en orange. Tout comme pour le calcul du SSR, nous prenons la longueur de chaque ligne orange, la mettons au carré et l'ajoutons à la somme, mais maintenant nous divisons également le résultat par m-1. Ici, nous avons obtenu une variance totale de 11,07.
variance inexpliquée
Maintenant, nous devons calculer la variance qui n'est pas expliquée par le modèle. Si le modèle expliquait toute la variance, tous les points se situeraient sur la ligne de régression construite. C'est rarement le cas, donc nous voulons calculer la variance de la cible mais maintenant par rapport à la ligne de régression au lieu de la moyenne. Nous utiliserons la même formule mais remplacerons ȳ par les prédictions du modèle.
Voici un exemple avec visualisation :
Maintenant, nous savons tout pour calculer le R-carré :
Nous avons obtenu un score R-carré de 0,92 qui est proche de 1, donc nous avons un excellent modèle. Calculons également le R-carré pour un autre modèle.
Le R-carré est plus bas 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 une régression. Il peut prendre des valeurs de 0 à 1. Contrairement à d'autres métriques comme MSE/MAE, une valeur plus élevée est meilleure (à moins que le modèle ne surajuste). Vous pouvez trouver le R-carré dans le tableau summary()
de la classe sm.OLS
.
Merci pour vos commentaires !