R-squared & précision d’une régression en R : R², R² ajusté, RMSE, AIC, BIC
Ce que signifie vraiment le R², comment le calculer, R² vs R² ajusté, et quand RMSE, MAE, AIC, BIC et le Cp de Mallows comptent
Un guide pratique pour interpréter la précision d’un modèle de régression en R. Comprenez ce que signifie le R-squared (le coefficient de détermination) et comment le calculer, la différence entre le R² et le R² ajusté, et comment lire RMSE, RSE, MAE, AIC, BIC et le Cp de Mallows. Calculés de deux façons — base R / broom::glance et le metric set yardstick de tidymodels — sur les données swiss intégrées, puis utilisés pour comparer deux modèles et choisir le meilleur.
Date de publication
25 juin 2026
Modifié
7 juillet 2026
AstucePoints clés à retenir
Le R² (le coefficient de détermination) est la part de la variation de la variable cible que votre modèle explique — de 0 (pas mieux que la moyenne) à 1 (parfait). Plus c’est élevé, mieux c’est ; il répond à la question « quelle proportion de ce qui se passe ai-je capturée ? »
Calculez-le avec summary(model)$r.squared, ou comme la corrélation au carré entre les valeurs observées et prédites : cor(observed, predicted)^2.
Le R² augmente toujours quand vous ajoutez des prédicteurs — même inutiles. Le R² ajusté pénalise les variables superflues : c’est donc l’indicateur honnête pour comparer des modèles ayant un nombre différent de prédicteurs.
RMSE et MAE rapportent l’erreur de prédiction typique dans les unités mêmes de la variable cible (le RMSE pénalise davantage les grosses erreurs) ; le RSE (sigma) est le RMSE ajusté pour le nombre de prédicteurs. Plus c’est bas, mieux c’est.
AIC, BIC et le Cp de Mallows estiment l’erreur de prédiction avec une pénalité pour la complexité — ce sont les indicateurs à utiliser pour la sélection de modèle. Le modèle ayant l’AIC/BIC le plus bas l’emporte.
Obtenez-les tous d’un coup avec broom::glance() (base/lm) ou yardstick (tidymodels). Lisez les chiffres — ne vous contentez pas de les afficher.
Vous ajustez un modèle de régression et R affiche un mur de chiffres — R-squared, Adjusted R-squared, un Residual standard error, et si vous le demandez, un AIC et un BIC. Lequel vous dit si le modèle est bon ? Et lorsque vous avez deux modèles candidats, quel chiffre désigne le vainqueur ?
Cette leçon répond précisément à ces questions. Nous commencerons par l’indicateur que tout le monde recherche et se rappelle à moitié — le R-squared — pour cerner ce qu’il signifie, comment le calculer, et la différence cruciale entre le R² et le R² ajusté. Nous ajouterons ensuite les indicateurs d’erreur (RMSE, RSE, MAE) et les critères de sélection de modèle (AIC, BIC, Cp de Mallows), nous interpréterons chacun en langage clair en précisant quand y recourir, et nous les utiliserons pour comparer deux modèles réels et choisir le meilleur.
Nous calculons chaque indicateur de deux façons — la voie base-R / broom::glance() que la plupart des gens connaissent déjà, et la voie tidymodels yardstick employée dans tout ce pilier — afin que vous sachiez lire l’une ou l’autre des sorties que vous rencontrerez sur le terrain.
NoteUne mise en garde d’emblée : ce sont des indicateurs in-sample
Chaque indicateur présenté ici est calculé sur les mêmes données que celles ayant servi à ajuster le modèle (données d’entraînement). Ils vous disent à quel point le modèle s’ajuste — pas à quel point il prédit de nouvelles données. Pour une estimation honnête de l’erreur de prédiction, vous rééchantillonnez : voir la validation croisée et le rééchantillonnage bootstrap. Les indicateurs d’ajustement ci-dessous restent essentiels — c’est ainsi que vous comparez et sélectionnez les modèles — mais lisez-les comme une « qualité d’ajustement », non comme une « précision future ».
Les données
Nous utiliserons les données swiss intégrées à R — 47 provinces francophones de Suisse (~1888), avec une mesure standardisée de fécondité et cinq indicateurs socio-économiques. L’objectif : prédire Fertility à partir des prédicteurs. C’est le jeu de données pédagogique classique pour la sélection de modèle, et il se trouve dans datasets, donc rien à installer.
Tout l’intérêt des indicateurs de précision réside dans la comparaison — un indicateur est surtout utile lorsqu’il départage un modèle d’un autre. Nous construisons donc deux modèles : un complet avec tous les prédicteurs, et un plus simple qui retire Examination (qui recoupe largement Education). Nous demanderons ensuite aux indicateurs lequel garder.
data("swiss")model1 <-lm(Fertility ~ ., data = swiss) # all predictorsmodel2 <-lm(Fertility ~ . - Examination, data = swiss) # drop Examination
Fertility ~ . signifie « régresser Fertility sur tout le reste » ; . - Examination conserve tout saufExamination. Deux modèles, une même variable cible — évaluons-les maintenant.
Le R-squared : quelle part de variation le modèle explique-t-il ?
Le R² (R-squared), le coefficient de détermination, est la proportion de la variation de la variable cible que votre modèle explique. Il va de 0 (le modèle ne fait pas mieux que de simplement prédire la moyenne de la variable cible) à 1 (le modèle prédit chaque point parfaitement). Un R² de 0.70 se lit « le modèle rend compte de 70 % de la variabilité de la fécondité ».
Il existe deux façons équivalentes de l’envisager, et toutes deux méritent d’être connues car ce sont elles qui vous permettent de le calculer à la main :
Un moins la part inexpliquée :\(R^2 = 1 - SS_{res}/SS_{tot}\) — l’erreur résiduelle de votre modèle divisée par l’erreur obtenue en se contentant de deviner la moyenne (plus de détails dans la section mathématique optionnelle).
La corrélation au carré entre la variable cible observée \(y\) et les prédictions du modèle \(\hat{y}\) : \(R^2 = r_{y\hat{y}}^2\), où \(r_{y\hat{y}}\) est leur corrélation de Pearson. En régression multiple, c’est le modèle mental le plus clair.
Extrayons le R² directement de summary() et confirmons qu’il est égal à la corrélation au carré :
data("swiss")model1 <-lm(Fertility ~ ., data = swiss)# Two ways to get R-squared for model1r2_summary <-summary(model1)$r.squared # straight from lmpredicted <-predict(model1, swiss)r2_manual <-cor(swiss$Fertility, predicted)^2# squared correlationc(from_summary = r2_summary, squared_correlation = r2_manual)
Les deux donnent R² ≈ 0.71 — le modèle explique environ 71 % de la variation de la fécondité provinciale. C’est solide pour des données de sciences sociales. Les deux voies concordent exactement, et c’est tout le propos : le R² est la corrélation au carré entre ce que vous avez observé et ce que le modèle a prédit.
Astuce0.71 est-il un « bon » R² ?
Cela dépend entièrement du domaine. En physique ou en ingénierie, un R² inférieur à 0.99 pourrait décevoir ; en sciences sociales, en psychologie ou en économie, 0.30–0.50 est souvent respectable car le comportement humain est bruité. Il n’existe pas de seuil universel — évaluez le R² par rapport aux modèles habituels de votre problème, et lisez-le toujours en parallèle d’un indicateur d’erreur (RMSE/MAE) afin de connaître l’ampleur des erreurs, et pas seulement la part de variance.
Visualisez-le : prédit vs réel, avec le R² sur le graphique
L’image la plus claire du R² est un nuage de points prédit vs réel. Des points serrés contre la ligne à 45 degrés signalent des prédictions précises ; un nuage compact correspond à un R² élevé. Nous annotons la valeur directement sur le graphique avec ggpubr :
library(ggpubr)data("swiss")model1 <-lm(Fertility ~ ., data = swiss)plot_df <-data.frame(actual = swiss$Fertility,predicted =predict(model1, swiss))ggscatter( plot_df, x ="actual", y ="predicted",color ="#3a86d4", size =2.5, alpha =0.8,xlab ="Actual fertility", ylab ="Predicted fertility") +geom_abline(linetype ="dashed", color ="gray50") +# perfect-prediction linestat_cor(aes(label =after_stat(rr.label)), label.x =45) +# adds the R² labelcoord_equal() +theme_minimal()
Les points se dispersent modérément autour de la diagonale en pointillés — cohérent avec un R² ≈ 0.71. stat_cor() avec le rr.label affiche le R² directement sur la figure, la même valeur que celle calculée plus haut.
Le R² ajusté : le R-squared, honnêtement pénalisé
Voici le piège qui rend le R² brut dangereux pour choisir un modèle : le R² ne peut qu’augmenter (ou rester stable) lorsque vous ajoutez un prédicteur — même totalement inutile et aléatoire. Ainsi, « le modèle ayant le R² le plus élevé » est une terrible règle de sélection ; elle récompense toujours le plus gros modèle.
Le R² ajusté corrige cela. C’est le R² assorti d’une pénalité pour le nombre de prédicteurs rapporté à la taille d’échantillon, de sorte qu’il n’augmente que lorsqu’une nouvelle variable améliore l’ajustement plus que le hasard ne le prédirait. Utilisez le R² ajusté — non le R² brut — chaque fois que vous comparez des modèles ayant un nombre différent de prédicteurs.
Lisez ceci attentivement — c’est toute la leçon résumée en quatre chiffres :
Le R² brut chute de 0.707 (model1) à 0.699 (model2) lorsque nous retirons Examination. Selon la règle du R² brut, model1 « l’emporte ».
Mais le R² ajusté est essentiellement identique (0.671 contre 0.671). La variable Examination n’apportait presque rien une fois pris en compte le coût d’un prédicteur supplémentaire.
Les deux modèles expliquent donc la variable cible aussi bien l’un que l’autre — et puisque model2 est plus simple (une variable de moins), c’est le meilleur modèle. Toutes choses égales par ailleurs, le modèle le plus simple l’emporte. C’est une conclusion que le R² brut aurait masquée et que le R² ajusté rend évidente.
Indicateurs d’erreur : RMSE, RSE et MAE — l’ampleur de vos erreurs
Le R² est sans unité (« part de variance »). Souvent, vous voulez aussi l’erreur dans les unités mêmes de la variable cible — « en moyenne, de combien une prédiction se trompe-t-elle ? ». Trois indicateurs y répondent :
RMSE (root mean squared error) — la racine carrée de l’erreur quadratique moyenne. Comme il élève au carré avant de moyenner, il pénalise davantage les grosses erreurs que les petites. Surveillez le RMSE lorsque les grandes erreurs sont particulièrement coûteuses. RMSE = sqrt(mean((observed - predicted)^2)).
RSE (erreur standard résiduelle, le sigma de R) — essentiellement le RMSE ajusté pour le nombre de prédicteurs (il divise par les degrés de liberté résiduels, et non par n). En pratique, il est très proche du RMSE ; c’est la valeur que R étiquette « Residual standard error » dans summary().
MAE (mean absolute error) — l’erreur absolue moyenne, qui pondère chaque erreur de façon identique. C’est l’indicateur le plus directement interprétable (« on se trompe de tant en moyenne ») et moins sensible aux valeurs aberrantes que le RMSE. MAE = mean(abs(observed - predicted)).
On a toujours MAE ≤ RMSE ; un grand écart entre les deux signale quelques erreurs importantes. Calculons les trois à la main pour model1 :
data("swiss")model1 <-lm(Fertility ~ ., data = swiss)observed <- swiss$Fertilitypredicted <-predict(model1, swiss)residuals <- observed - predictedc(RSE_sigma =sigma(model1), # residual standard error, from lmRMSE =sqrt(mean(residuals^2)), # root mean squared errorMAE =mean(abs(residuals)) # mean absolute error)
RSE_sigma RMSE MAE
7.165369 6.692395 5.321380
Ainsi, une prédiction typique se trompe d’environ 5.3 (MAE) à 6.7 (RMSE) points de fécondité, le RSE (sigma ≈ 7.17) étant un peu plus grand car il corrige pour les degrés de liberté du modèle. L’écart entre le MAE et le RMSE vous indique qu’une poignée de provinces sont prédites nettement moins bien que les autres.
Une astuce utile en une ligne : divisez le RSE par la moyenne de la variable cible pour obtenir un taux d’erreur de prédiction :
data("swiss")model1 <-lm(Fertility ~ ., data = swiss)sigma(model1) /mean(swiss$Fertility)
[1] 0.1021544
C’est environ 10 % — l’erreur typique du modèle représente à peu près un dixième du score de fécondité moyen. Une manière sans échelle de dire « quelle est l’ampleur des erreurs, par rapport à ce que l’on prédit ».
Les mêmes indicateurs façon tidymodels : yardstick
Dans tout ce pilier, nous évaluons les modèles avec yardstick (le package d’indicateurs de tidymodels). Il fonctionne sur un data frame composé de colonnes truth + estimate et fournit les mêmes chiffres — pratique lorsque votre modèle est issu d’un workflow() (voir Construire des modèles avec tidymodels). Regroupez plusieurs indicateurs dans un metric_set() et évaluez-les en un seul appel :
# A tibble: 3 × 3
.metric .estimator .estimate
<chr> <chr> <dbl>
1 rsq standard 0.707
2 rmse standard 6.69
3 mae standard 5.32
Le R² (rsq = 0.707), le RMSE (6.69) et le MAE (5.32) correspondent exactement aux chiffres calculés à la main — mêmes indicateurs, interface plus soignée. Dans un véritable pipeline tidymodels, vous fourniriez ici predict(fit, new_data = test_data) plutôt que des prédictions in-sample, afin d’évaluer sur des données mises de côté.
Noteyardstick::rsq vs rsq_trad
yardstick::rsq() est la forme corrélation au carré du R² (elle correspond à summary(lm)$r.squared sur les données d’entraînement). Il existe aussi rsq_trad(), la forme « un moins le ratio de SS » — identique in-sample, mais sur des données de test, rsq_trad() peut devenir négatif (un modèle pire que la moyenne), ce qui est un signal d’alerte utile. Utilisez rsq_trad() lorsque vous évaluez sur de nouvelles données.
AIC, BIC et Cp de Mallows : les critères de sélection de modèle
Le R², le R² ajusté, le RMSE et le MAE décrivent tous l’ajustement. Mais les outils de référence pour choisir entre des modèles sont les critères d’information — l’AIC, le BIC et le Cp de Mallows. Chacun estime l’erreur de prédiction du modèle et ajoute une pénalité pour la complexité, de sorte qu’un modèle ne « gagne » un prédicteur supplémentaire que s’il améliore suffisamment l’ajustement pour le justifier. Pour tous, plus c’est bas, mieux c’est.
AIC (Akaike Information Criterion) — pénalise les paramètres ajoutés ; l’outil de prédilection pour comparer des modèles ajustés sur les mêmes données. L’AICc est une correction pour petits échantillons (utilisez-la quand n est petit par rapport au nombre de paramètres).
BIC (Bayesian Information Criterion) — comme l’AIC mais avec une pénalité de complexité plus forte (il met à l’échelle la pénalité par log(n)), de sorte qu’il favorise plus agressivement les modèles plus simples. Lorsque l’AIC et le BIC divergent, le BIC retient le modèle le plus épuré.
Cp de Mallows — un proche cousin de l’AIC utilisé en sélection du meilleur sous-ensemble ; un bon modèle a un Cp proche du nombre de paramètres.
L’AIC (325.2 < 326.1) comme le BIC (336.3 < 339.0) sont plus bas pour model2 — le modèle le plus simple. Les critères d’information rejoignent le R² ajusté : retirer Examination donne un modèle qui s’ajuste tout aussi bien avec moins de complexité, si bien que model2 est préféré.
Mettre le tout ensemble : comparer les deux modèles dans un seul tableau
En pratique, vous ne calculez pas ces indicateurs un par un — vous les récupérez tous avec broom::glance(), qui renvoie un résumé soigné d’une ligne par modèle (R², R² ajusté, sigma = RSE, AIC, BIC, et la p-value du F-test global). Empilez les deux lignes et la comparaison est immédiate :
Lisez le tableau de haut en bas — c’est ainsi que vous choisissez un modèle :
Le R² ajusté est identique (0.67 pour les deux) : les deux modèles expliquent la fécondité aussi bien l’un que l’autre.
Le RSE (sigma) est le même (≈ 7.17) : même erreur typique.
L’AIC et le BIC sont tous deux plus bas pour model2 : en comparaison de modèles, l’AIC/BIC le plus bas l’emporte → model2.
La p-value du F-statistic est plus petite pour model2 (globalement plus significatif), cohérent avec la même conclusion.
Le verdict : model2 est aussi précis que model1 mais plus simple, c’est donc le meilleur modèle. Tous les critères qui tiennent compte de la complexité (R² ajusté, AIC, BIC, le F-test) pointent dans la même direction — ce qui est précisément pourquoi vous ne sélectionnez jamais sur le seul R² brut.
AstuceConclusion prête à coller
« Les deux modèles ont un R² ajusté égal (0.67) et une erreur standard résiduelle égale (7.17), mais model2 — qui retire Examination — a un AIC plus bas (325 contre 326) et un BIC plus bas (336 contre 339) : il est donc préféré, car il explique la fécondité tout aussi bien avec un prédicteur de moins. »
NoteLes mathématiques derrière le R², le RMSE, le MAE et le R² ajusté (optionnel)
Pour \(n\) observations avec la variable cible \(y_i\), la prédiction \(\hat{y}_i\) et la moyenne de la variable cible \(\bar{y}\) :
Le R² compare la somme des carrés résiduels \(SS_{res}\) de votre modèle à la somme totale des carrés \(SS_{tot}\) (l’erreur de la prédiction de la moyenne) :
Le R² ajusté réduit le R² d’un facteur qui dépend du nombre de prédicteurs \(p\) et de la taille d’échantillon \(n\), de sorte qu’ajouter un prédicteur qui n’aide pas le fait baisser :
À mesure que \(p\) croît, la fraction \(\frac{n-1}{n-p-1}\) croît, gonflant le terme \((1 - R^2)\) et tirant le R² ajusté vers le bas — c’est la pénalité qui le rend honnête pour la comparaison de modèles. L’AIC et le BIC suivent le même esprit : \(-2\log(\hat{L})\) — où \(\hat{L}\) est la vraisemblance maximisée du modèle — plus une pénalité de \(2p\) (AIC) ou \(p\log n\) (BIC).
🟢 Avec un agent IA
Vous ne savez pas à quel indicateur vous fier sur votre propre modèle ? Demandez à Prova« évalue mon modèle de régression et dis-moi s’il faut garder ce prédicteur supplémentaire » — elle répond avec du code R que vous pouvez exécuter sur vos données, calcule le R², le R² ajusté, le RMSE, l’AIC et le BIC, et vous aide à les lire pour choisir le meilleur modèle. The runtime is the judge.Demandez à Prova →
Problèmes courants
« Mon R² a augmenté quand j’ai ajouté une variable, donc le plus gros modèle est meilleur. » Le R² brut augmente toujours avec plus de prédicteurs — il ne peut pas vous dire si la variable a aidé. Comparez plutôt sur le R² ajusté, l’AIC ou le BIC, qui pénalisent la complexité.
Un excellent R² mais des erreurs énormes (ou l’inverse). Le R² concerne la part de variance, pas la taille des erreurs — un modèle peut expliquer 90 % d’une variable cible très dispersée tout en se trompant beaucoup en valeur absolue. Rapportez toujours le R² et un indicateur d’erreur (RMSE ou MAE) ensemble.
Comparer l’AIC entre des modèles ajustés sur des données ou des variables cibles différentes. L’AIC/BIC ne sont comparables qu’entre des modèles ajustés sur les mêmes observations et la même réponse. Réajuster après avoir supprimé des lignes contenant des valeurs manquantes modifie discrètement les données — réajustez tous les candidats sur le jeu de données identique.
Prendre les indicateurs in-sample pour la précision de prédiction. Chaque indicateur présenté ici est calculé sur les données d’entraînement, ce qui flatte le modèle. Pour une erreur de prédiction honnête, estimez-la par validation croisée ou bootstrap.
Questions fréquentes
NoteComment interpréter le R-squared en R ?
Le R-squared est la proportion de variation de votre variable cible que le modèle explique, comprise entre 0 et 1. Récupérez-le avec summary(model)$r.squared. Un R² de 0.71 signifie que le modèle rend compte d’environ 71 % de la variabilité de la variable cible ; le reste demeure inexpliqué. Plus c’est élevé, mieux c’est, mais ce qui est « bon » dépend du domaine — 0.3–0.5 est respectable en sciences sociales, tandis que les modèles des sciences physiques attendent souvent 0.95 et plus.
NoteQu’est-ce qu’une bonne valeur de R-squared ?
Il n’y a pas de seuil universel — cela dépend entièrement de votre domaine. Dans des champs bruités (psychologie, économie, sciences sociales), un R² de 0.30–0.50 peut être réellement utile ; dans des mesures physiques étroitement contrôlées, vous pourriez attendre 0.95 ou plus. Évaluez le R² par rapport aux modèles habituels de votre problème, et lisez-le toujours à côté d’un indicateur d’erreur (RMSE/MAE) afin de savoir aussi quelle est l’ampleur des erreurs.
NoteQuelle est la différence entre le R² et le R² ajusté ?
Le R² brut ne diminue jamais lorsque vous ajoutez un prédicteur — même inutile — il favorise donc toujours les plus gros modèles. Le R² ajusté ajoute une pénalité pour le nombre de prédicteurs rapporté à la taille d’échantillon, de sorte qu’il n’augmente que lorsqu’une nouvelle variable améliore l’ajustement au-delà du hasard. Utilisez le R² ajusté (et non le R² brut) chaque fois que vous comparez des modèles ayant un nombre différent de prédicteurs.
NoteQuelle est la différence entre le RMSE et le MAE ?
Tous deux mesurent l’erreur de prédiction dans les unités mêmes de la variable cible, donc plus c’est bas, mieux c’est. Le RMSE élève les erreurs au carré avant de moyenner : il pénalise davantage les grosses erreurs — utilisez-le quand les grandes erreurs sont particulièrement coûteuses. Le MAE moyenne les erreurs absolues, en pondérant chaque erreur de façon identique : il est donc moins sensible aux valeurs aberrantes et le plus directement interprétable. On a toujours MAE ≤ RMSE ; un grand écart entre les deux signale quelques erreurs importantes.
NoteFaut-il utiliser l’AIC ou le BIC pour comparer des modèles ?
Tous deux estiment l’erreur de prédiction avec une pénalité de complexité, et pour les deux plus c’est bas, mieux c’est. L’AIC est le choix polyvalent ; le BIC pénalise plus fortement les prédicteurs supplémentaires (sa pénalité s’échelonne avec log(n)), si bien qu’il favorise les modèles plus simples et tend à retenir les plus épurés sur les grands échantillons. Lorsque l’AIC et le BIC divergent, le BIC choisit le plus petit modèle. Calculez-les avec AIC(model) et BIC(model), ou obtenez les deux plus le R² avec broom::glance(model).
Testez vos connaissances
ImportantExercice : évaluer et comparer deux modèles sur les données Boston
À l’aide du jeu de données Boston (MASS), ajustez deux modèles prédisant medv (valeur médiane des logements) : un modèle complet avec tous les prédicteurs, et un modèle réduit retirant age et indus. Utilisez broom::glance() pour comparer leur R² ajusté, AIC et BIC, et décidez quel modèle vous garderiez.
AstuceIndice
La structure est identique à celle de la leçon : construisez lm(medv ~ ., data = Boston) et lm(medv ~ . - age - indus, data = Boston), puis appliquez glance() aux deux et examinez adj.r.squared, AIC et BIC. Rappel : un AIC/BIC plus bas et un R² ajusté similaire ou supérieur favorisent le modèle.
AstuceSolution
library(MASS)library(broom)data("Boston", package ="MASS")m_full <-lm(medv ~ ., data = Boston)m_red <-lm(medv ~ . - age - indus, data = Boston)cols <-c("adj.r.squared", "sigma", "AIC", "BIC")rbind(cbind(model ="full", glance(m_full)[cols]),cbind(model ="reduced", glance(m_red)[cols]))
Le modèle réduit a essentiellement le même R² ajusté mais un AIC et un BIC plus bas — age et indus n’apportent rien une fois les autres prédicteurs présents, si bien que le modèle réduit (plus simple) est préféré. Même logique que pour swiss : lorsque les indicateurs sensibles à la complexité s’égalisent ou favorisent le plus petit modèle, gardez le plus petit modèle.
Vérification rapide. Vous comparez deux modèles et constatez que le modèle A a un R² brut plus élevé que le modèle B, mais que le modèle B a un AIC plus bas et un R² ajusté plus élevé. Quel modèle devriez-vous préférer, et pourquoi ?
NoteAfficher la réponse
Préférez le modèle B. Un R² brut plus élevé pour le modèle A signifie simplement qu’il a plus de prédicteurs — le R² brut augmente toujours avec les variables ajoutées et ne dit rien sur leur utilité. Le R² ajusté plus élevé et l’AIC plus bas du modèle B tiennent tous deux compte de la complexité et favorisent tous deux B, ce qui signifie qu’il explique la variable cible aussi bien ou mieux sans le bagage supplémentaire. Sélectionnez toujours sur des indicateurs sensibles à la complexité (R² ajusté, AIC, BIC), jamais sur le R² brut.
Conclusion
Vous disposez désormais de la boîte à outils complète pour juger la précision d’une régression en R. Le R² vous indique la part de variation expliquée ; le R² ajusté rend cette mesure honnête pour la comparaison de modèles en pénalisant les prédicteurs superflus ; le RMSE, le RSE et le MAE rapportent l’ampleur des erreurs dans les unités de la variable cible ; et l’AIC, le BIC et le Cp de Mallows sont les critères pénalisés par la complexité qui décident quel modèle garder — le plus bas l’emporte. La leçon récurrente de la comparaison swiss : ne sélectionnez jamais sur le seul R² brut, et lorsqu’un modèle plus simple s’égalise sur les indicateurs sensibles à la complexité, gardez-le.
N’oubliez pas que ce sont des indicateurs in-sample (d’entraînement) — ils mesurent l’ajustement, pas la précision future. Pour estimer la performance du modèle sur des données qu’il n’a pas vues, rééchantillonnez avec la validation croisée ou le rééchantillonnage bootstrap.
Leçons connexes
Construire des modèles avec tidymodels — le workflow split → recipe → ajustement → prédiction → évaluation dans lequel ces indicateurs yardstick s’insèrent. · Validation croisée — transformez les indicateurs d’ajustement in-sample en estimations honnêtes hors-échantillon. · Régression linéaire multiple — ajustez et interprétez les coefficients derrière ces indicateurs (Biostatistique).
Prouvez que vous savez le faire. Maîtrisez toute la série Validation de modèles en R — suivez votre parcours, construisez des projets et obtenez un certificat.
Cette leçon est reproductible : chaque indicateur et chaque figure ont été produits par le code montré — copiez n’importe quel bloc et exécutez-le pour les reproduire. The runtime is the judge.
Pour aller plus loin
James, G., Witten, D., Hastie, T., & Tibshirani, R. An Introduction to Statistical Learning — le traitement canonique de la précision et de la sélection de modèle (R² ajusté, AIC/BIC/Cp). Gratuit en ligne.
Kuhn, M., & Silge, J. Tidy Modeling with R — le chapitre sur les indicateurs yardstick et l’approche par rééchantillonnage pour des estimations honnêtes de performance. Gratuit en ligne (CC BY-NC-SA).