Coefficient de Détermination
Qu'est-ce que le R-carré
Nous avons déjà abordé la MSE, la RMSE et la MAE. Ces mesures permettent de comparer les modèles, mais un score unique est difficile à évaluer sans contexte. Il se peut que vous ne sachiez pas si la valeur est « suffisamment bonne » pour votre jeu de données.
R-carré résout ce problème en mesurant la part de la variance de la cible expliquée par le modèle. Sa valeur varie de 0 à 1, ce qui rend l'interprétation simple.
Le problème est que nous ne pouvons pas calculer la variance expliquée immédiatement. 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 statistique (ȳ représente la moyenne de la cible) :
Dans l’exemple, les différences entre les valeurs réelles et la moyenne de la cible (lignes orange) sont élevées au carré et additionnées, puis divisées par m−1, ce qui donne une variance totale de 11.07.
Variance inexpliquée
Ensuite, on calcule la variance que le modèle n’explique pas. Si les prédictions étaient parfaites, tous les points seraient exactement sur la droite de régression. On utilise la même formule de variance, mais on remplace ȳ par les valeurs prédites.
Voici un exemple avec visualisation :
Nous avons maintenant toutes les informations nécessaires 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.
Le R-carré varie de 0 à 1, et une valeur plus élevée est préférable (sauf si le modèle surajuste). Le résultat de summary() de sm.OLS inclut le score R-carré.
Merci pour vos commentaires !
Demandez à l'IA
Demandez à l'IA
Posez n'importe quelle question ou essayez l'une des questions suggérées pour commencer notre discussion
Awesome!
Completion rate improved to 5.26
Coefficient de Détermination
Glissez pour afficher le menu
Qu'est-ce que le R-carré
Nous avons déjà abordé la MSE, la RMSE et la MAE. Ces mesures permettent de comparer les modèles, mais un score unique est difficile à évaluer sans contexte. Il se peut que vous ne sachiez pas si la valeur est « suffisamment bonne » pour votre jeu de données.
R-carré résout ce problème en mesurant la part de la variance de la cible expliquée par le modèle. Sa valeur varie de 0 à 1, ce qui rend l'interprétation simple.
Le problème est que nous ne pouvons pas calculer la variance expliquée immédiatement. 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 statistique (ȳ représente la moyenne de la cible) :
Dans l’exemple, les différences entre les valeurs réelles et la moyenne de la cible (lignes orange) sont élevées au carré et additionnées, puis divisées par m−1, ce qui donne une variance totale de 11.07.
Variance inexpliquée
Ensuite, on calcule la variance que le modèle n’explique pas. Si les prédictions étaient parfaites, tous les points seraient exactement sur la droite de régression. On utilise la même formule de variance, mais on remplace ȳ par les valeurs prédites.
Voici un exemple avec visualisation :
Nous avons maintenant toutes les informations nécessaires 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.
Le R-carré varie de 0 à 1, et une valeur plus élevée est préférable (sauf si le modèle surajuste). Le résultat de summary() de sm.OLS inclut le score R-carré.
Merci pour vos commentaires !