Seuils et matrice de confusion

Supposons que vous disposiez d'un modèle de régression logistique pour la détection des e-mails indésirables qui prédit une valeur comprise entre 0 et 1, représentant la probabilité qu'un e-mail donné soit du spam. Une prédiction de 0,50 signifie qu'il y a 50% de chances que l'e-mail soit du spam, une prédiction de 0,75 signifie qu'il y a 75% de chances que l'e-mail soit du spam, et ainsi de suite.

Vous souhaitez déployer ce modèle dans une application de messagerie pour filtrer le spam dans un dossier de messagerie distinct. Pour ce faire, vous devez convertir la sortie numérique brute du modèle (par exemple, 0.75) en deux catégories: "spam" ou "non-spam".

Pour effectuer cette conversion, vous choisissez une probabilité de seuil, appelée seuil de classification. Les exemples dont la probabilité est supérieure à la valeur du seuil sont ensuite attribués à la classe positive, la classe que vous testez (ici, spam). Les exemples dont la probabilité est inférieure sont attribués à la classe négative, la classe alternative (ici, not spam).

Cliquez ici pour en savoir plus sur le seuil de classification

Vous vous demandez peut-être ce qu'il se passe si le score prévu est égal au seuil de classification (par exemple, un score de 0,5 lorsque le seuil de classification est également de 0,5). La gestion de ce cas dépend de l'implémentation choisie pour le modèle de classification. La bibliothèque Keras prédit la classe négative si le score et le seuil sont égaux, mais d'autres outils/frameworks peuvent gérer ce cas différemment.

Supposons que le modèle attribue un score de 0,99 à un e-mail, ce qui signifie qu'il a 99% de chances d'être du spam, et un score de 0,51 à un autre e-mail, ce qui signifie qu'il a 51% de chances d'être du spam. Si vous définissez le seuil de classification sur 0,5, le modèle classera les deux e-mails comme du spam. Si vous définissez le seuil sur 0,95, seul l'e-mail avec un score de 0,99 sera classé comme spam.

Bien que 0, 5 puisse sembler être un seuil intuitif, ce n'est pas une bonne idée si le coût d'un type de mauvaise classification est supérieur à l'autre ou si les classes sont déséquilibrées. Si seulement 0, 01% des e-mails sont des spams ou s'il est pire de mal classer des e-mails légitimes que de laisser le spam dans la boîte de réception, étiqueter tout ce que le modèle considère comme du spam au moins 50% comme spam produit des résultats indésirables.

Matrice de confusion

Le score de probabilité n'est pas la réalité, ni la vérité terrain. Quatre résultats sont possibles pour chaque sortie d'un classificateur binaire. Pour l'exemple du classificateur de spam, si vous présentez la vérité terrain sous forme de colonnes et la prédiction du modèle sous forme de lignes, le tableau suivant, appelé matrice de confusion, est le résultat:

Vrai positif Vrai négatif
Valeur positive prédite Vrai positif (VP): e-mail indésirable correctement classé comme tel. Il s'agit des messages de spam automatiquement envoyés dans le dossier de spam. Faux positif (FP): e-mail non indésirable classé à tort comme spam. Il s'agit des e-mails légitimes qui se retrouvent dans le dossier de spam.
Prévision négative Faux négatif (FN): e-mail de spam classé à tort comme non-spam. Il s'agit d'e-mails de spam qui ne sont pas détectés par le filtre antispam et qui se retrouvent dans la boîte de réception. Vrai négatif (VN): e-mail non spam correctement classé comme tel. Il s'agit des e-mails légitimes qui sont envoyés directement dans la boîte de réception.

Notez que le total de chaque ligne indique tous les positifs prédits (VP + FP) et tous les négatifs prédits (FN + TN), quelle que soit leur validité. Le total de chaque colonne, quant à lui, indique tous les vrais positifs (TP + FN) et tous les vrais négatifs (FP + TN), quelle que soit la classification du modèle.

Lorsque le total des résultats positifs réels n'est pas proche du total des résultats négatifs réels, l'ensemble de données est déséquilibré. Un exemple d'ensemble de données déséquilibré peut être un ensemble de milliers de photos de nuages, où le type de nuage rare qui vous intéresse, par exemple les nuages en volutes, n'apparaît que quelques fois.

Effet du seuil sur les vrais et faux positifs et négatifs

Différents seuils entraînent généralement différents nombres de vrais et faux positifs, ainsi que de vrais et faux négatifs. La vidéo suivante explique pourquoi.

Essayez de modifier vous-même le seuil.

Ce widget inclut trois ensembles de données fictifs:

  • Distincts, où les exemples positifs et les exemples négatifs sont généralement bien différenciés, la plupart des exemples positifs ayant des scores plus élevés que les exemples négatifs.
  • Non séparé : de nombreux exemples positifs ont des scores inférieurs à ceux des exemples négatifs, et de nombreux exemples négatifs ayant des scores plus élevés que les exemples positifs.
  • Données déséquilibrées, ne contenant que quelques exemples de la classe positive.

Testez vos connaissances

1. Imaginez un modèle de classification des sites d'hameçonnage ou de logiciels malveillants dans lequel les sites d'hameçonnage et de logiciels malveillants appartiennent à la classe 1 (vrai) et les sites inoffensifs à la classe 0 (faux). Ce modèle classe à tort un site Web légitime comme logiciel malveillant. Comment appelle-t-on ce concept ?
Un faux positif
Un exemple négatif (site légitime) a été classé à tort comme exemple positif (site malveillant).
Vrai positif
Un vrai positif est un site contenant un logiciel malveillant correctement classé comme tel.
Un faux négatif
Un faux négatif correspond à un site contenant un logiciel malveillant classé à tort comme légitime.
Vrai négatif
Un vrai négatif correspond à un site légitime correctement classé comme tel.
2. En général, qu'arrive-t-il au nombre de faux positifs lorsque le seuil de classification augmente ? Qu'en est-il des vrais positifs ? Essayez le curseur ci-dessus.
Le nombre de faux positifs et de vrais positifs diminue.
À mesure que le seuil augmente, le modèle prédit probablement moins de valeurs positives globales, à la fois vraies et fausses. Un classificateur de spam avec un seuil de 0,9999 n'étiquetera un e-mail comme spam que s'il considère que la classification est probable à au moins 99,99 %. Il est donc très peu probable qu'un e-mail légitime soit considéré à tort comme un e-mail légitime, mais il risque également de passer à côté de véritables spams.
Les vrais positifs et les faux positifs augmentent.
À l'aide du curseur ci-dessus, essayez de définir le seuil sur 0,1, puis de le faire glisser jusqu'à 0,9. Qu'arrive-t-il au nombre de faux positifs et de vrais positifs ?
Le nombre de vrais positifs augmente. Le nombre de faux positifs diminue.
À l'aide du curseur ci-dessus, essayez de définir le seuil sur 0,1, puis de le faire glisser jusqu'à 0,9. Que se passe-t-il au niveau du nombre de faux positifs et de vrais positifs ?
3. En général, qu'arrive-t-il au nombre de faux négatifs lorsque le seuil de classification augmente ? Qu'en est-il des vrais négatifs ? Essayez le curseur ci-dessus.
Les vrais négatifs et les faux négatifs augmentent.
À mesure que le seuil augmente, le modèle prédit probablement plus de négatifs dans l'ensemble, à la fois vrais et faux. À un seuil très élevé, presque tous les e-mails, qu'ils soient classés comme spam ou non, seront classés comme non-spam.
Les vrais et faux négatifs diminuent.
À l'aide du curseur ci-dessus, essayez de définir le seuil sur 0,1, puis de le faire glisser jusqu'à 0,9. Qu'arrive-t-il au nombre de faux négatifs et de vrais négatifs ?
Les vrais négatifs augmentent. Le nombre de faux négatifs diminue.
À l'aide du curseur ci-dessus, essayez de définir le seuil sur 0,1, puis de le faire glisser jusqu'à 0,9. Qu'arrive-t-il au nombre de faux négatifs et de vrais négatifs ?