• 10 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 06/02/2024

Évaluez un algorithme de régression

Dans cette troisième partie, nous allons nous concentrer sur les modèles de régression. Il s'agit ici d'utiliser des données étiquetées pour associer une valeur numérique à un objet, comme par exemple de prédire le nombre d'utilisateurs d'un service à un moment donné.

Mesures d'erreur

Quand nous avons parlé d'évaluer des modèles de classification, nous avons commencé par compter le nombre d'erreurs de prédiction que fait le modèle. Ce n'est pas approprié pour un problème de régression. En effet, à quelle précision numérique peut-on dire qu'une prédiction est correcte ou non ? Par ailleurs, on préfère généralement un modèle qui est globalement « plus près des vraies valeurs » à un modèle presque exact pour quelques points.

La ligne rose fait des prédictions presque exactes pour deux des points, mais la ligne orange est globalement plus près des vraies valeurs à prédire et représente mieux les données
La ligne rose fait des prédictions presque exactes pour deux des points, mais la ligne orange est globalement plus près des vraies valeurs à prédire et représente mieux les données

Quantifions cette notion de « plus près des vraies valeurs » : nous allons calculer pour chaque point $\(x_i\)$ du jeu de test la distance entre son étiquette et la valeur prédite et en faire la somme. Le résultat s'appelle la somme des carrés des résidus, ou RSS, pour Residual Sum of Squares.

$\[RSS = \sum_{i=1}^n (f(x_i)-y_i)^2\]$

Le problème de la RSS, c'est qu'elle est d'autant plus grande qu'on a de données. Pour cette raison, nous allons la normaliser par le nombre $\(n\)$ de points dans le jeu de test. On obtient ainsi l'erreur quadratique moyenne, ou MSE, pour Mean Squared Error.

$\[MSE = \frac{1}{n} \sum_{i=1}^n (f(x_i)-y_i)^2\]$

Pour se ramener à l'unité de $\(y\)$ , on peut prendre la racine de la MSE. On obtient ainsi la RMSE, ou Root Mean Squared Error.

$\[RMSE = \sqrt{\frac{1}{n} \sum_{i=1}^n (f(x_i)-y_i)^2}\]$

Mais la RMSE ne se comporte pas très bien quand les étiquettes peuvent prendre des valeurs qui s'étalent sur plusieurs ordres de grandeur. Imaginons faire une erreur de 100 unités sur une étiquette qui vaut 4 ; le terme correspondant dans la RMSE vaut $\(100^2 = 10\,000\)$ . C'est exactement la même chose que si on fait une erreur de 100 unités sur une étiquette qui vaut 8000.

Pour prendre cela en compte, on peut passer les valeurs prédites et les vraies valeurs au log avant de calculer la RMSE. On obtient ainsi la RMSLE (Root Mean Squared Log Error) :

$\[RMSLE = \sqrt{\frac{1}{n} \sum_{i=1}^n (\log(f(x_i)+1) - \log(y_i+1))^2}\]$

Revenons à notre exemple. Pour la prédiction de 104 au lieu de 4, le terme correspondant dans la RMSLE vaut maintenant 1.75. Celui correspondant à la prédiction de 8100 au lieu de 8000 vaut maintenant $\(3.10^{-5}\)$ .

Coefficient de détermination

Même si les valeurs à prédire ont toutes le même ordre de grandeur, la RMSE peut être difficile à interpréter. Imaginons que notre modèle serve à prédire des prix de vente. Si nous travaillons avec des DVDs, une erreur de 10€ sera importante. Si nous travaillons avec des voitures, une erreur de 10€ sera très faible. Dans le cas d'un DVD ou d'une voiture, vous n'avez pas besoin de voir le jeu de données pour connaître les ordres de grandeur en jeu. Mais ce n'est pas nécessairement le cas !

C'est pour cette raison que l'on peut choisir de normaliser la somme des carrés des résidus non pas par le nombre de points $\(n\)$ dans le jeu de données, mais par une mesure de ce qu'il serait raisonnable de faire comme erreur : la somme des distances entre chacune des valeurs à prédire et leur moyenne. Le résultat s'appelle l'erreur carrée relative, ou RSE pour Relative Squared Error.

 $\(RSE = \frac{\sum_{i=1}^n (y_i - f(x_i))^2}{\sum_{i=1}^n (y_i - \bar{y})^2}\)$ avec 

 $\(\bar{y} = = \frac{1}{n} \sum_{i=1}^n y_i\)$  

Vous rencontrerez souvent, au lieu de la RSE, son complémentaire à 1, noté $\(R^2 = 1 - RSE\)$ C'est le coefficient de détermination

$\[R = \frac{\sum_{i=1}^n (y_i - \bar y) (f(x_i) - \overline{f(x)})}{\sqrt{\sum_{i=1}^n (y_i - \bar y)^2} \sqrt{\sum_{i=1}^n (f(x_i) - \overline{f(x)})^2 }}\]$

Le coefficient de détermination nous indique donc à quel point les valeurs prédites sont corrélées aux vraies valeurs. Attention, si les prédictions sont fortement anti-corrélées aux vraies valeurs, le coefficient de détermination sera élevé aussi.

Coefficient de détermination pour quelques exemples de valeurs prédites vs. valeurs réelles
Coefficient de détermination pour quelques exemples de valeurs prédites vs. valeurs réelles

Résumé

Pour évaluer un modèle de régression, on peut calculer la distance entre valeurs prédites et vraies valeurs. Cela nous donne :

  • la somme des carrés des résidus (RSS) ;

  • la moyenne de cette somme (MSE) ;

  • la racine carrée de cette moyenne (RMSE).

 On peut préférer calculer la corrélation entre valeurs prédites et vraies valeurs :

  • l'erreur carrée relative (RSE) est la RSS normalisée par la somme des carrés des distances entre les étiquettes et leur moyenne ;

  •  elle est le complément à 1 du coefficient de détermination (R2), qui est le carré de la corrélation de Pearson entre valeurs prédites et vraies valeurs.

Exemple de certificat de réussite
Exemple de certificat de réussite