Courbe ROC#
Ce document introduit la courbe ROC
(Receiving Operator Characteristic) qui est communément utilisée pour mesurer
la performance d’un classifieur. Il introduit aussi des termes comme précision,
rappel, AUC,
qui sont présents dans la plupart des articles qui traitent de machine learning.
Le module roc
implémente les calculs ci-dessous
qu’on peut tester avec le notebook ROC.
Définitions#
Supposons que nous avons un classifieur qui classe des observations en un ensemble de
classes. De plus, il donne cette réponse accompagnée d’un score de pertinence.
Deux cas sont possibles : soit la réponse est bonne (1), soit la réponse est fausse (0).
Pour chaque observation, on associe un couple où
est égal à 0 ou 1.
est le score de pertinence. On cherche à déterminer à partir de quel
seuil de pertinence, la réponse du classifieuur est fiable.
En faisant varier
, on obtient une courbe
(source : wikipedia) :

Cette courbe sert également à comparer différents classifieurs. Plus une courbe a des valeurs élevées, plus l’aire sous la courbe est grande, moins le classifieur fait d’erreur.
D’une manière simplifiée, le classifieur retourne une réponse qui est soit
mauvaise (-) soit bonne (+). On peut l’évaluer car pour construire
un classifier on dispose toujours d’une base contenant les réponses attendues.
En fonction du score et d’un seuil
, on définit quatre cas :
cas |
réponse prédite est bonne (+) |
réponse prédite est mauvaise (-) |
---|---|---|
TP: vrai (true) positif |
FP: faux positif |
|
TN: vrai (true) négatif |
FN: faux négatif |
Ces résultats sont souvent présentés selon une matrice confusion :
réponse attendue |
0 |
1 |
---|---|---|
0 |
TN |
FP |
1 |
FN |
TP |
A partir de ces définitions, on définit :
la précision :
le rappel ou recall :
En choisissant un seuil relatif au score de pertinence ,
au-dessus, on valide la réponse du classifieur, en-dessous,
on ne la valide pas. On peut toujours calculer la précision et le
rappel pour toutes les réponses dont le score est au-dessus d’un seuil
.
La courbe ROC s’obtient en faisant varier
.
Définition D1 : Courbe ROC
On suppose que est la variable aléatoire des scores
des expériences qui ont réussi.
est celle des scores des expériences qui ont échoué.
On suppose également que tous les scores sont indépendants.
On note
et
les fonctions de répartition de ces variables.
et
.
On définit en fonction d’un seuil
:
La courbe ROC est le graphe lorsque
varie dans
.
désigne les true positifs au-dessus du seuil
,
avec les notations TP, FP, FN, TN, cela revient à :
On remarque que est constant.
De même pour
.

On remarque que les fonctions
et
sont décroissantes toutes deux. Elles sont donc inversibles.
Dans le cas où la variable aléatoire
est indépendante de
la variable
, la courbe ROC est une droite reliant les points
et
où
.
Ceci signifie que la connaissance du score
n’apporte pas d’information quant à la réussite de l’expérience.
Il peut paraître complexe de distinguer la réponse et le score du classifieur.
C’est pourtant nécessaire dans le cas où le classifieur retourne un entier
qui désigne une classe parmi . Un cas positif est lorsque la
classe prédite est égale à la classe attendue, il est négatif dans le
cas contraire. La courbe peut être adaptée pour d’autres problèmes
tels que le ranking (voir [Agarwal2005]).
Une autre façon de l’exprimer car je ne retiens jamais la définition des FP, TP, FN, TN… Pour quelqu’un qui doit réfléchir trois secondes à chaque fois qu’on me demande où est la gauche, ce n’est jamais évident.
x = FPR(s), y = TPR(s). (FPR = False Positive Rate, TPR = True Positive Rate)

Aire sous la courbe#
Expression#
L’aire sous la courbe (AUC) correspond à l’intégrale de la fonction ROC. Elle se calcule à partir du théorème suivant :
Théorème T1 : Aire sous la courbe (AUC)
On utilise les notations de la définition de la Courbe ROC.
L’aire sous la courbe ROC est égale à .
Rappel
Soit une variable aléatoire de densité
et
de fonction de répartition
. Si
, alors :
La variable est de loi uniforme sur
.
De plus, soit
une fonction intégrable quelconque, on pose
et :
Démonstration
On note la densité de la variable
et
celle de la variable
. On peut alors définir la probabilité
par une intégrale :
On note la fonction de répartition de
soit
.
On pose comme changement de variable :
.
On en déduit que
. La variable aléatoire
est uniforme et comprise dans
.
Or si , alors
et
. Par conséquent :
Cette dernière expression est l’aire recherchée. Ce théorème nous permet de définir un estimateur pour l’aire sous la courbe ROC à l’aide des U-statistiques de Mann-Whitney (voir [Saporta1990]).
Corollaire C1 : Estimateur de l’aire sous la courbe ROC
On dispose des scores des expériences qui ont réussi
et
les scores des expériences qui ont échoué.
On suppose également que tous les scores sont indépendants.
Les scores
sont identiquement distribués,
il en est de même pour les scores
.
Un estimateur de l’aire
sous la courbe ROC” est :
(1)#
Démonstration
La démonstration est évidente :
Dans le cas où ou
sont continues,
.
Intervalles de confiance#
Il est possible de déterminer un intervalle de confiance pour cet estimateur.
Le théorème central limite nous permet de dire que cet estimateur tend vers
une loi normale lorsque et
tendent vers l’infini.
Corollaire C2 : Variance de l’estimateur AUC
On note et
.
et
sont de même loi que
,
,
sont de même loi que
.
La variance de l’estimateur
définie par (1) est :
Démonstration
Cette démonstration n’est vraie que dans le cas continu.
Par conséquent, . On calcule tout d’abord
et on utilise le fait que
.