Mean Squared Error (MSE)
Mean Squared Error (MSE)
En machine learning, la Mean Squared Error (MSE) 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 MSE est 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
RSS (Residual Sum of Squares) est la somme des carrés des résidus
Interprétation de la MSE
La MSE, comme la RMSE ou la MAE, 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 MSE s’appuie sur le calcul des résidus (ou erreurs du modèle).
La MSE (comme la RMSE, mais contrairement à la MAE) a une dérivée continue. La MSE est ainsi facilement optimisable, ce qui permet au modèle de minimiser cette métrique de performance à l’aide de formules mathématiques. La dérivée de la MSE est particulièrement simple. Ceci peut permettre de faire des modèles qui minimisent très efficacement la MSE, soient des modèles très précis.
De plus, la MSE (comme la RMSE, 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.
La RMSE peut ensuite être calculée facilement à partir de la MSE (en faisant simplement la racine carrée), et a l'avantage d'être exprimée dans l'unité de la variable cible.
Cependant, la MSE évalue mal la robustesse du modèle. En effet, un modèle avec une bonne MSE peut être très sensible aux données aberrantes : en voulant minimiser 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 MSE 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.