Les métriques de performance
- MYPE SAS
- Mar 14
- 7 min read
Updated: 6 days ago
Pour évaluer, optimiser ou comparer des modèles de machine learning, on dispose de nombreuses quantités indicatrices, qu’on appelle métriques de performance. Celles-ci ne mesurent pas toutes les mêmes caractéristiques du modèle, et ne sont pas forcément utilisables pour tous les modèles.
Les caractéristiques que l’on cherche à évaluer dans un modèle de machine learning sont, en général :
la précision, ce qui représente le fait que le modèle doit être en capacité d’expliquer les données réelles. Si les données prédites sont trop éloignées des valeurs réelles, le modèle n’est pas bon.
la possibilité de généralisation : même si le modèle doit pouvoir expliquer les valeurs réelles, il ne doit pas être trop dépendant de ces valeurs. Il doit pouvoir être généralisé à de nouvelles données. Ce critère correspond au fait qu’on ne souhaite pas de surapprentissage.
la robustesse, c’est-à-dire la capacité d’un modèle à ne pas trop prendre en compte les valeurs aberrantes, et à ne pas non plus être trop sensible au bruit des données (variations faibles dans les données, dues à des imprécisions de mesure). Le modèle doit identifier des données de mauvaise qualité, ou du moins ne pas leur donner trop d’importance lors du calcul de l’algorithme de prédiction.
la simplicité relative, qui est importante pour que notre modèle soit exécutable dans des temps assez courts par l’ordinateur, et pour qu’on puisse éventuellement l’utiliser sur des bases de données de plus en plus grandes, sans rencontrer de problème de performance.
Nous allons dans cet article détailler les métriques de performance utilisables pour les modèles de régression ou de classification, et leurs avantages et inconvénients.
1. Pour la régression
On dispose des métriques suivantes :
-l’erreur absolue moyenne, ou Mean Absolute Error (MAE), qui est la somme moyennée des valeurs absolues des résidus

Où : #T est le nombre de lignes de la base de test,
les yi sont les observations réelles de la variable cible y sur la base de test,
et les ypred,i sont les prédictions de l’algorithme pour la variable cible sur la base de test
-la somme des carrés des résidus, ou Residual Sum of Squares (RSS)

-la moyenne de cette somme, ou Mean Squared Error (MSE), qui correspond à la RSS, moyennée sur la base de test

-la racine carrée de cette moyenne, ou Root Mean Squared Error (RMSE)

-le coefficient de détermination R^2, qui est la somme des carrés des résidus divisée par la variance totale

Où : m est la moyenne de la variable y dans toute la base de données (base d’entraînement + base de test)
Pour les modèles de régression linéaire, le coefficient de détermination R^2 est égal au carré du coefficient de corrélation r^2, soit :

Où : cov(X,Y) est la covariance de X et Y (outil mathématique mesurant la dispersion des données),
et sigmaX et sigmaY sont les écart-types respectifs des variables X et Y.
Maintenant, nous allons détailler les caractéristiques du modèle que ces différentes métriques permettent d’évaluer. On s’intéressera aussi aux limites de chacune de ces métriques de performance.
MAE, MSE et RMSE
Ces trois mesures sont proches, car elles mesurent les trois la précision du modèle, c’est-à-dire sa capacité à passer par un maximum de points de valeurs réelles. Les définitions de ces trois métriques s’appuient toutes sur le calcul des résidus (ou erreurs du modèle), ce qui fait que ces trois métriques ont dans l’ensemble les mêmes propriétés.
La MAE ne fait qu’une moyenne des erreurs, sans accorder plus de poids aux erreurs plus grandes. Un modèle qui prédirait toujours la valeur moyenne de notre variable cible aurait une bonne MAE, ce qui en fait une métrique de performance qui ne se suffit pas à elle-même. De plus, elle a une dérivée discontinue, contrairement à la MSE et à la RMSE. Le principal intérêt de la RMSE par rapport à la MSE est qu’elle exprimée dans l’unité de la variable cible, tandis que la MSE est exprimée dans cette unité au carré.
La MSE et la RMSE sont calculées à partir des carrés des erreurs. Elles attribuent donc un fort impact aux erreurs importantes. Ceci leur permet d’être de bons indicateurs de la précision du modèle. Cependant, elles évaluent mal la robustesse d’un 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.
La RMSE et la MSE sont cependant facilement optimisables, car elles sont dérivables plusieurs fois, contrairement à la MAE. Le fait qu’une métrique ait une dérivée continue et même dérivable est utile, car cela 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.
R^2
Le coefficient de détermination R^2 est toujours compris entre 0 et 1. Il indique le pourcentage d’observations de la base de test qui sont expliquées par le modèle. En effet, il divise la somme des erreurs du modèle (ou résidus) au carré, par la variance de la base de données (soit les erreurs statistiques normales liées aux valeurs des attributs de la base de données). L’avantage du coefficient R^2 est qu’il est donc très facile à lire et interpréter.
Le coefficient R^2 indique donc la capacité explicative du modèle. En revanche, il ne détecte pas le sur-apprentissage, car il ne s’intéresse pas à la complexité ou à la possibilité de généralisation du modèle. De plus, le coefficient R^2 est sensible aux valeurs aberrantes, puisqu’il utilise dans son calcul la valeur des erreurs de prédiction, même par rapport aux valeurs aberrantes.
Enfin, un inconvénient du coefficient R^2 est qu’il augmente avec le nombre de variables. Pourtant, un modèle peut être tout aussi bon, voire meilleur qu’un autre, en prenant en compte plus de variables.
En conclusion, afin d’évaluer un modèle de régression, on peut utiliser la RMSE, afin d’avoir une idée des erreurs empiriques du modèle, le coefficient R^2, afin de voir la capacité du modèle à expliquer les données réelles et, en plus, tracer la courbe d’apprentissage du modèle, qui nous indiquera la présence ou non de sur-apprentissage. Il est aussi important de tracer notre courbe de prédiction, afin d’avoir une idée du comportement du modèle, et de pouvoir identifier d’éventuelles aberrations.
2. Pour la classification
On dispose pour évaluer un modèle de classification, des métriques suivantes :
-l’exactitude, ou accuracy

-la précision, qui s’applique dans le cas d’une classification biclasse (la variable cible est l’appartenance à la classe True ou la classe False)

Où : TP est le nombre de True Positives
et FP le nombre de False Positives
-le rappel, ou recall, qui s’applique aussi seulement dans le cas biclasse

-l’AUC-ROC, qui s’applique aussi seulement dans le cas biclasse, et qui est l’aire (ou Area Under Curve) sous la courbe ROC (Receiver Operating Characteristic), qui représente le taux de vrais positifs en fonction du taux de faux positifs.
L’exactitude, ou accuracy d’un modèle, a l’avantage d’être une métrique de performance à la formule intuitive. Elle donne la proportion de prédictions correctes sur la base de test. De plus, elle est calculable quelle que soit le nombre de classes du problème. Cependant, elle n’est pas satisfaisante dans le cas de classes déséquilibrées. En effet, imaginons un problème biclasse dans lequel la classe False contient 95% des observations de la base de test, et la classe True les 5% restants. Imaginons maintenant un modèle dont la prédiction serait False pour toutes les observations. L’exactitude de ce modèle serait de 95%, soit élevée, malgré son taux d’erreur de 100% pour toutes les observations qui auraient dû être classées en True. Enfin l’accuracy ne prend pas en compte ni la répartition des erreurs dans les différentes classes, ni leur gravité : la mauvaise attribution d’une observation peut avoir des conséquences plus graves selon la classe dans laquelle elle aurait dû être classée réellement.
La précision, elle, se concentre sur le nombre de faux positifs. Ainsi, elle peut être très pertinente pour les modèles pour lesquels un faux positif est grave, et où un faux négatif ne l’est pas trop. En revanche, elle peut mener à des modèles biaisés, qui classent trop d’observations dans la classe False. Elle est donc à combiner avec le rappel, qui dépend lui des faux négatifs.
A l’inverse de la précision, la mesure du rappel est la plus pertinente lorsqu’il s’agit de minimiser le nombre de faux négatifs. En revanche, il ne prend pas en compte le nombre de faux positifs. De la même façon que lorsqu’on ne s’intéresse qu’à la précision, l’étude du rappel seul peut mener à un biais dans le modèle, en faveur de la classe True cette fois.
Enfin, la mesure AOC-ROC est calculée à partir de la courbe traçant les vrais positifs en fonction des faux positifs, les deux étant en pourcentage. On a donc une valeur pour l’AOC-ROC qui est comprise entre 0 et 1, 1 étant la valeur optimale, ce qui permet une facilité de lecture. De plus, l’AOC-ROC prend en compte le taux de vrais positifs et le taux de faux positifs, ce qui permet d’éviter un biais du modèle, qui ferait qu’il favoriserait une classe sur l’autre. Enfin, l’AOC-ROC est calculée à partir de taux, et non de nombres bruts, ce qui lui permet d’être toujours pertinente, même dans le cas de classes déséquilibrées. Cependant, la mesure de l’AOC-ROC ne permet pas de mesurer la répartition des erreurs selon les classes : elle ne mesure pas d’éventuel biais (même si elle a l’avantage de ne pas favoriser de biais, contrairement à l’exactitude, la précision ou le rappel). De plus, elle n’est pas sensible au coût des erreurs. En effet, selon le contexte des données, un faux positif peut être plus grave qu’un faux négatif, ou inversement. Or, ces gravités ne sont pas prises en compte lors du calcul de l’AOC-ROC.
Ainsi, il peut être intéressant lors de l’étude des performances d’un algorithme de classification, de calculer la précision et le rappel, qui sont complémentaires, ou bien l’AOC-ROC, qui est un indicateur assez performant. Il est de plus utile de calculer la courbe d’apprentissage, pour détecter un éventuel sur-apprentissage. Par ailleurs, il faut savoir interpréter ces mesures de performance, qui ne sont que des outils, et qui ne prennent pas en compte le coût des erreurs. Enfin, il est conseillé d’afficher la répartition des erreurs dans les classes, pour identifier un éventuel biais de l’algorithme, qui pourrait ne pas se refléter dans une mesure de performance, si les classes étaient trop déséquilibrées.
Retrouvez d'autres contenus, et toutes nos formations sur : https://www.expertpython.fr/
Comments