La section précédente présentait un ensemble de métriques du modèle, toutes calculées à un une valeur unique de seuil de classification. Mais si vous voulez évaluer du modèle pour tous les seuils possibles, vous avez besoin de différents outils.
Courbe ROC (Receiver Operating Characteristic)
La courbe ROC est une représentation visuelle des performances du modèle pour tous les seuils. La version longue du nom, "Receiver Operating Characteristic" (caractéristique opérationnelle du récepteur) est une retenue des systèmes de détection de radars de la Seconde Guerre mondiale.
La courbe ROC est dessinée en calculant le taux de vrais positifs (TPR). et de faux positifs pour chaque seuil possible (en pratique, des intervalles sélectionnés), puis le TPR et le TFP. Un modèle parfait, qui, à un certain seuil, a un TVP de 1,0 et 0,0, être représenté par un point en (0, 1) si tous les autres seuils sont ignorés, ou par:
![Figure 1. Graphique des TFP (axe des ordonnées) et des TFP (axe des abscisses) montrant la
les performances d'un modèle parfait: une droite comprise entre (0,1) et (1,1).](https://developers.google.cn/static/machine-learning/crash-course/images/auc_1-0.png?authuser=6&hl=fr)
Aire sous la courbe (AUC)
L'aire sous la courbe ROC (AUC) représente la probabilité que le modèle, si un exemple positif et négatif est choisi aléatoirement, classera positive supérieure à la négative.
Le modèle parfait ci-dessus, qui contient un carré dont les côtés font 1, a une sous la courbe (AUC) de 1,0. Cela signifie qu'il y a une probabilité de 100% que le modèle classe correctement un exemple positif choisi aléatoirement au-dessus d'un exemple négatif choisi aléatoirement. En d'autres termes, examiner la propagation points de données ci-dessous, l'AUC donne la probabilité que le modèle place carré choisi aléatoirement à droite d'un cercle choisi aléatoirement, indépendamment de où le seuil est défini.
Plus concrètement, un classificateur de spam avec AUC de 1.0 attribue toujours une probabilité plus élevée à un spam de spam qu'un e-mail légitime aléatoire. La classification réelle de chaque dépend du seuil que vous choisissez.
Pour un classificateur binaire, un modèle qui réalise aussi bien des suppositions aléatoires dont la valeur ROC correspond à une ligne diagonale comprise entre (0,0) et (1,1). L'AUC est 0,5, ce qui représente une probabilité de 50% de classer correctement un positif aléatoire et exemple négatif.
Dans l'exemple du classificateur de spam, un classificateur de spam avec une AUC de 0,5 attribue un spam aléatoire a plus de chances d'être indésirable qu'un les e-mails légitimes seulement une fois la moitié du temps.
![Figure 2. Graphique des TFP (axe des ordonnées) et des TFP (axe des abscisses) montrant la
la performance d'un joueur aléatoire de 50 à 50: une ligne diagonale à partir de (0,0)
à (1,1).](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-5.png?authuser=6&hl=fr)
(Facultatif, avancé) Courbe de précision/rappel
Les valeurs AUC et ROC sont efficaces pour comparer des modèles lorsque l'ensemble de données entre les classes. Lorsque l'ensemble de données est déséquilibré, la précision/rappel (PRC) et l'aire sous ces courbes peut offrir un meilleur résultat des performances du modèle. Les courbes de précision/rappel sont créées la précision du tracé sur l'axe des y et le rappel sur l'axe des x sur toutes de sécurité.
![Exemple de courbe de précision/rappel avec une courbe convexe descendante à partir de (0,1)
à (1,0)](https://developers.google.cn/static/machine-learning/crash-course/images/prauc.png?authuser=6&hl=fr)
AUC et ROC pour choisir le modèle et le seuil
L'AUC est une mesure utile pour comparer les performances de deux modèles différents, à condition que l'ensemble de données soit à peu près équilibré. (voir Courbe de précision/rappel, (voir ci-dessus, pour les ensembles de données déséquilibrés). Le modèle dont l'aire sous la plus grande la courbe est généralement la meilleure.
![Figure 3.a. Graphique ROC/AUC d'un modèle avec une AUC=0,65.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-65.png?authuser=6&hl=fr)
![Figure 3.b. Graphique ROC/AUC d'un modèle avec une AUC=0,93.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-93.png?authuser=6&hl=fr)
Les points d'une courbe ROC les plus proches de (0,1) représentent une plage de les seuils les plus performants pour le modèle donné. Comme indiqué dans le Seuils Matrice de confusion et Choix de la métrique et compromis le seuil que vous choisissez dépend de la métrique la plus importante pour un cas d'utilisation spécifique. Examinez les points A, B et C dans les chacun représentant un seuil:
![Figure 4. Courbe ROC d'AUC=0,84 représentant trois points sur la
la partie convexe de la courbe la plus proche de (0,1) étiquetée A, B, C, dans l'ordre.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_abc.png?authuser=6&hl=fr)
Si les faux positifs (fausses alarmes) sont très coûteux, il peut être judicieux de Choisissez un seuil offrant un TFP inférieur, comme celui du point A, même si est réduite. Inversement, si les faux positifs sont bon marché et les faux négatifs (vrais positifs manqués) très coûteux, le seuil du point C, qui maximise le TVI, ce qui peut être préférable. Si les coûts sont à peu près équivalents, point B peut offrir le meilleur équilibre entre le TVP et le TFP.
Voici la courbe ROC des données que nous avons déjà vues:
Exercice: tester vos connaissances
![une courbe ROC formant un arc vers le haut, puis vers la droite de (0,0) à
(1,1). L'AUC de la courbe est de 0,77.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-77.png?authuser=6&hl=fr)
![une courbe ROC qui est approximativement une ligne droite entre (0,0) et
(1,1), avec quelques zigzags. L'AUC de la courbe est de 0,508.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-508.png?authuser=6&hl=fr)
![courbe ROC qui fait des zigzags vers le haut et vers la droite de (0,0) à (1,1).
L'AUC de la courbe est de 0,623.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-623.png?authuser=6&hl=fr)
![une courbe ROC qui fait un arc vers la droite, puis vers le haut
(0,0) à (1,1). L'AUC de la courbe est de 0,31.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-31.png?authuser=6&hl=fr)
![une courbe ROC qui fait un arc vers la droite, puis vers le haut
(0,0) à (1,1). L'AUC de la courbe est de 0,32.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-32.png?authuser=6&hl=fr)
![la courbe ROC qui est à peu près une ligne droite
(0,0) à (1,1), avec quelques zigzags. La courbe présente une
AUC de 0,508.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-508.png?authuser=6&hl=fr)
![une courbe ROC qui est une ligne droite diagonale
(0,0) à (1,1). L'AUC de la courbe est de 0,5.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_0-5.png?authuser=6&hl=fr)
![La courbe ROC se compose de deux lignes perpendiculaires: une verticale
de (0,0) à (0,1) et une ligne horizontale de (0,1) à (1,1).
L'AUC de cette courbe est de 1,0.](https://developers.google.cn/static/machine-learning/crash-course/images/auc_1-0.png?authuser=6&hl=fr)
(Facultatif, avancé) Question bonus
Imaginez une situation dans laquelle il est préférable d'autoriser boîte de réception que d’envoyer un e-mail stratégique dans le dossier de spam. Vous avez un classificateur de spam est entraîné dans le cas où la classe positive est comme spam et la classe négative non-spam. Lequel de ces points sur la courbe ROC de votre classificateur ?
![Courbe ROC d'AUC=0,84 représentant trois points sur la partie convexe d'un
qui sont proches de (0,1). Le point A est à environ
(0,25, 0,75). le point B est à environ (0,30, 0,90) et est
le point qui maximise le TVP tout en minimisant le TFP. Point d'accès
C est d'environ (0,4, 0,95).](https://developers.google.cn/static/machine-learning/crash-course/images/auc_abc.png?authuser=6&hl=fr)