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.