Root Mean Squared Error (RMSE)
Root Mean Squared Error (RMSE)
En machine learning, la Root Mean Squared Error (RMSE) est une métrique de performance qui est d'autant plus grande que le modèle évalué fait des erreurs de prédiction importantes. La RMSE est la racine carrée de la Mean Squared Error (MSE), c'est-à-dire la racine carrée de la moyenne des résidus au carrés, sur la base de test :

Où :
yi est la valeur réelle de la variable y pour l'observation i
ypred,i est la valeur prédite par le modèle pour l'observation i
#T est le nombre d'observations dans la base de test
Interprétation de la RMSE
La RMSE, comme la MAE ou la MSE, permet de mesurer la précision du modèle, c’est-à-dire sa capacité à passer par un maximum de points de valeurs réelles. La définition de la RMSE s’appuie sur le calcul des résidus (ou erreurs du modèle).
La RMSE (comme la MSE, mais contrairement à la MAE) a une dérivée continue. La RMSE est ainsi facilement optimisable, ce qui permet au modèle de minimiser cette métrique de performance à l’aide de formules mathématiques.
De plus, la RMSE (comme la MSE, mais contrairement à la MAE) est calculée à partir des carrés des erreur, ce qui permet d'attribuer un plus fort impact aux erreurs importantes. Ceci lui permet d’être un meilleur indicateur de la précision du modèle.
Enfin, la RMSE est exprimée dans l'unité de la variable cible, contrairement à la MSE.
Cependant, la RMSE évalue mal la robustesse du modèle. En effet, un modèle avec une bonne RMSE (ou MSE) peut être très sensible aux données aberrantes : en voulant minimiser la RMSE ou la MSE, un modèle voudra à tout prix minimiser les erreurs de prédiction, même sur les valeurs aberrantes. Ceci peut entraîner la complexité excessive du modèle, ainsi qu’un biais du modèle, pour lequel la généralisation peut être difficile.
Syntaxe Python
Grâce à la bibliothèque Scikit-learn de Python, on peut calculer la RMSE rapidement avec la syntaxe suivante :

Voir aussi : all(), any(), append(), count(), enumerate(), extend(), filter(), float() format() input(), int(), isdigit(), isinstance(), items(), join(), endswith(), list(), map(), max(), mean(), min(), pop(), range(), len(), startswith(), zip(), type(), get(), symmetric_difference(), keys(), difference()
Numpy : arange(), array(), delete(), hsplit(), hstack(), linspace(), logical_and(), logical_or(), polyfit()
Pandas : concat(), concatenate(), describe(), dict(), drop_duplicates(), dropna(), fillna(), from_dict(), groupby(), head(), iloc, info(), insert(), isin(), melt(), merge(), pivot_table(), read_csv(), read_excel(), rename(), where()
Machine Learning : F1-Score, Précision, Rappel, Normalisation, Courbe d’apprentissage, Les résidus, Régression VS classification, Mean Absolute Error (MAE), Mean Squared Error (MSE), Root Mean Squared Error (RMSE), Accuracy, L’astuce du noyau, Bases d’apprentissage et de test, Classes linéairement séparables, Apprentissage supervisé VS non-supervisé, Coefficient de détermination R2, Validation croisée
N'hésitez pas à consulter nos formations sur cette page.