Classification: courbe ROC et AUC

ROC curve

Une courbe ROC (Receiver Operating Characteristic) est un graphique qui montre les performances d'un modèle de classification à tous les seuils de classification. Cette courbe représente deux paramètres:

  • Taux de vrais positifs
  • Taux de faux positifs

Le taux de vrais positifs (TPR) est l'équivalent du rappel. Il est donc défini comme suit:

$$TPR = \frac{TP} {TP + FN}$$

Le taux de faux positifs (TFP) est défini comme suit:

$$FPR = \frac{FP} {FP + TN}$$

Une courbe ROC représente les valeurs TVP et TFP pour différents seuils de classification. La diminution du seuil de classification permet de classer davantage d'éléments comme étant positifs, ce qui augmente le nombre de faux positifs et de vrais positifs. La figure suivante montre une courbe ROC typique.

Courbe ROC illustrant le taux de VP par rapport au taux de FP à différents seuils de classification.

Figure 4. taux de VP par rapport aux FP au niveau de différents seuils de classification.

Pour calculer les points d'une courbe ROC, nous pouvons évaluer un modèle de régression logistique plusieurs fois avec différents seuils de classification, mais cela ne sera pas efficace. Heureusement, il existe un algorithme efficace, basé sur le tri, qui peut nous fournir ces informations. Il s'agit de l'AUC.

AUC: zone sous la courbe ROC

AUC signifie "Area under the ROC Curve"" (aire sous la courbe ROC). C'est-à-dire que l'AUC mesure toute l'aire à deux dimensions sous l'intégralité de la courbe ROC (pensez au calcul total) de (0,0) à (1,1).

AUC (aire sous la courbe ROC).

Figure 5. AUC (aire sous la courbe ROC).

L'AUC fournit une mesure globale des performances pour tous les seuils de classification possibles. L'une des façons d'interpréter l'AUC est la probabilité que le modèle classe un exemple positif aléatoire plus particulièrement qu'un exemple négatif aléatoire. Par exemple, avec les exemples suivants, organisés de gauche à droite dans l'ordre croissant des prédictions par régression logistique:

Exemples positifs et négatifs classés par ordre croissant de score de régression logistique

Figure 6. Prédictions classées par ordre croissant de score de régression logistique.

L'AUC représente la probabilité qu'un exemple positif aléatoire (vert) soit placé à droite d'un exemple négatif aléatoire (rouge).

L'AUC est comprise entre 0 et 1. Un modèle dont les prédictions sont totalement fausses a un AUC de 0,0. Un modèle dont les prédictions sont correctes a un AUC de 1,0.

L'AUC est souhaitable pour les deux raisons suivantes:

  • L'AUC est invariante. Elle mesure le classement des prédictions, plutôt que leurs valeurs absolues.
  • L'AUC est indépendante des seuils de classification. Il mesure la qualité des prédictions du modèle indépendamment du seuil de classification choisi.

Cependant, ces deux raisons comportent des mises en garde, qui peuvent limiter l'utilité de l'AUC dans certains cas d'utilisation:

  • L'invariance à grande échelle n'est pas toujours souhaitable. Par exemple, nous avons parfois vraiment besoin de sorties de probabilité bien calibrées, mais l'AUC ne nous le dira pas.

  • L'invariance par seuil de classification n'est pas toujours souhaitable. Dans les cas où il existe de grandes disparités dans le coût des faux négatifs et des faux positifs, il peut être essentiel de minimiser l'un des types d'erreurs de classification. Par exemple, lors de la détection du spam dans les e-mails, il est préférable de limiter au maximum les faux positifs (même si cela entraîne une augmentation significative des faux négatifs). L'AUC n'est pas une métrique utile pour ce type d'optimisation.