Seuil de probabilité de classification

49

J'ai une question concernant la classification en général. Soit f un classificateur, qui donne un ensemble de probabilités à partir de données D. Normalement, on dirait: si P (c | D)> 0.5, nous assignerons une classe 1, sinon 0 (que ce soit un binaire classification).

Ma question est la suivante: si je découvre que si je classe également 1, les probabilités sont supérieures à: c’est-à-dire 0,2, le classifieur donne de meilleurs résultats. Est-il légitime d'utiliser ensuite ce nouveau seuil lors de la classification?

J'interpréterais la nécessité d'une limite inférieure de classification dans le contexte des données émettant un signal plus petit; encore significatif pour le problème de la classification.

Je me rends compte que c’est une façon de le faire, mais si ce n’est pas une pensée juste, quelles seraient les transformations de données qui mettent l’accent sur les caractéristiques individuelles de la même manière, de sorte que le seuil puisse rester à 0,5?

sdgaw erzswer
la source
8
Vous avez déjà une excellente réponse, alors laissez-moi simplement dire ceci: votre "normalement" n’est pas un normalement qui devrait être normal. Je ne sais pas trop où le "seuil à 0,5" est devenu la norme, et je sais qu’il existe certains logiciels, sinon excellents, qui encouragent l’idée, mais c’est une pratique très médiocre en général.
Matthew Drury
1
@MatthewDrury: à moins, bien sûr, que le score ne soit la probabilité postérieure pertinente et bien calibrée de ne pas commettre d'erreur importante (cette dernière prendrait en charge différents coûts de classification erronée).
cbeleites soutient Monica

Réponses:

68

Frank Harrell a écrit à ce sujet sur son blog: Classification vs. Prédiction , avec lequel je suis tout à fait d'accord.

Son argument principal est que la composante statistique de votre exercice se termine lorsque vous indiquez une probabilité pour chaque classe de votre nouvel échantillon. Le choix d'un seuil au-delà duquel vous classifiez une nouvelle observation comme étant 1 vs 0 ne fait plus partie des statistiques . Cela fait partie de la composante décision . Et ici, vous avez besoin de la sortie probabiliste de votre modèle, mais également de considérations telles que:

  • Quelles sont les conséquences de la décision de traiter une nouvelle observation en tant que classe 1 vs 0? Dois-je alors envoyer un mail marketing pas cher à tous les 1? Ou dois-je appliquer un traitement anticancéreux invasif avec des effets secondaires importants?
  • Quelles sont les conséquences de traiter un "vrai" 0 comme un 1, et inversement? Vais-je cocher un client? Soumettre quelqu'un à un traitement médical inutile?
  • Mes "classes" sont-elles vraiment discrètes? Ou existe-t-il réellement un continuum (par exemple, la pression artérielle), où les seuils cliniques ne sont en réalité que des raccourcis cognitifs? Si c'est le cas, jusqu'à quel point suis-je en train de "classer" au - delà d'un seuil?
  • Ou bien une probabilité faible mais positive d'être de classe 1 signifie-t-elle réellement "obtenir plus de données", "exécuter un autre test"?

Alors, pour répondre à votre question, adressez-vous au consommateur final de votre classification et obtenez des réponses aux questions ci-dessus. Ou expliquez-lui votre résultat probabiliste et laissez-le franchir les étapes suivantes.

S. Kolassa - Rétablir Monica
la source
1
Merci beaucoup pour cette réponse perspicace. J'étudierai davantage le problème lui-même - je suis certain de pouvoir convertir cette propriété en partie à l'apprentissage statistique.
sdgaw erzswer
Wow, j'aimerais pouvoir ajouter quelque chose à cela, mais je n'ai rien eu, réponse exceptionnelle!
the_SJC
4
Très bonne réponse: les questions sont sur place! Cependant, ma profession étant du côté des applications, que trouver un seuil de décision s'appelle ou non des statistiques - cela relève pleinement de mes obligations professionnelles ... Et pour moi, cela fait partie du modèle, tout comme le "prétraitement" en fait partie. le modèle - également parce que toutes ces décisions doivent être prises en compte dans le processus de validation.
cbeleites soutient Monica
11

La réponse de Stephan est géniale. Cela dépend fondamentalement de ce que vous voulez faire avec le classificateur.

Ajoutons juste quelques exemples.

Un moyen de trouver le meilleur seuil consiste à définir une fonction objective. Pour la classification binaire, cela peut être la précision ou le score F1 par exemple. Selon ce que vous choisissez, le meilleur seuil sera différent. Pour F1-score, il existe une réponse intéressante ici: Qu'est-ce que le seuil optimal F1? Comment le calculer? . Mais en faisant "je veux utiliser F1-score", vous faites réellement le choix. Que ce choix soit bon ou non dépend du but final.

Une autre façon de le voir est de faire face au compromis entre exploration et exploitation (dernier point de Stephan): le bandit aux armes multiples est un exemple d'un tel problème: vous devez faire face à deux objectifs contradictoires: acquérir des informations et choisir le meilleur bandit. . Une stratégie bayésienne consiste à choisir chaque bandit au hasard avec la probabilité qu'il soit le meilleur. Ce n'est pas exactement une classification mais une gestion similaire des probabilités de sortie.

Si le classificateur n'est qu'une brique dans l'algorithme décisionnel, le meilleur seuil dépendra de la finalité de l'algorithme. Il devrait être évalué et réglé en fonction de la fonction objective de l'ensemble du processus.

Benoit Sanchez
la source
Merci pour une autre bonne réponse. Si je comprends bien, s’il s’agit de la dernière étape du processus, il est tout à fait légitime d’optimiser directement le seuil.
sdgaw erzswer
@sdgawerzswer: oui. Et a) assurez-vous d'optimiser la réponse à la bonne question et b) assurez-vous de valider cette décision (et la détermination du seuil) avec le reste du modèle.
cbeleites soutient Monica
3

Il y a peut-être une certaine valeur à considérer comment la probabilité est calculée. De nos jours, les classificateurs utilisent un vecteur de biais qui est multiplié par une matrice (algèbre linéaire). Tant que le vecteur contient des valeurs non nulles, la probabilité (le produit du vecteur et de la matrice) ne sera jamais égale à 0.

Cela crée de la confusion dans le monde réel des personnes qui n'ont pas pris l'algèbre linéaire, je suppose. Ils sont gênés par le fait qu'il existe des scores de probabilité pour les éléments qui, à leur avis, devraient avoir 0. En d'autres termes, ils confondent l'entrée statistique avec la décision basée sur cette entrée. En tant qu'êtres humains, nous pourrions dire que quelque chose avec une probabilité de 0,0002234 est égal à 0, dans la plupart des cas d'utilisation "pratiques". Dans les discussions sur les sciences cognitives supérieures, il y a peut-être une discussion intéressante sur la raison pour laquelle le vecteur de biais fait cela, ou plutôt, est-ce valable pour les applications cognitives.

Kameron Cole
la source
2

Il n'y a pas de faux seuil. Le seuil que vous choisissez dépend de votre objectif dans votre prédiction, ou plutôt de ce que vous souhaitez privilégier, par exemple précision ou rappel (essayez de le représenter graphiquement et mesurez son AUC associée pour comparer différents modèles de classification de votre choix).

Je vous donne cet exemple de précision par rapport au rappel, car mon propre cas sur lequel je travaille actuellement, je choisis mon seuil en fonction de la précision minimale (ou de la valeur prédictive positive du PPV) que je veux que mon modèle ait lors de la prédiction, mais ne vous souciez pas beaucoup des négatifs. En tant que tel, je prends le seuil qui correspond à la précision souhaitée une fois que j'ai formé mon modèle. La précision est ma contrainte et le rappel est la performance de mon modèle, comparé à d'autres modèles de classification.

Alex F
la source