Qu'est-ce que le seuil optimal F1? Comment le calculer?

13

J'ai utilisé la fonction h2o.glm () dans R qui donne un tableau de contingence dans le résultat avec d'autres statistiques. Le tableau de contingence est intitulé " Tableau croisé basé sur le seuil optimal F1 "

Wikipedia définit le score F1 ou le score F comme la moyenne harmonique de la précision et du rappel. Mais la précision et le rappel ne sont pas trouvés uniquement lorsque le résultat des valeurs prédites d'une régression logistique (par exemple) est transformé en binaire à l'aide d'un seuil.

Maintenant, par coupure, je me souviens, quel est le lien entre le score F1 et le seuil optimal. Comment le seuil optimal est-il calculé? Comment le seuil optimal F1 est-il calculé?

Désolé si j'ai raté quelque chose, je suis nouveau dans les statistiques ici.

TrempageHummer
la source

Réponses:

22

J'ai en fait écrit mon premier article sur l'apprentissage automatique sur ce sujet. Dans ce document, nous avons identifié que lorsque votre classificateur produit des probabilités calibrées (comme elles le devraient pour la régression logistique), le seuil optimal est d'environ la moitié du score F1 qu'il atteint. Cela vous donne une certaine intuition. Le seuil optimal ne sera jamais supérieur à 0,5. Si votre F1 est de 0,5 et que le seuil est de 0,5, vous devez vous attendre à améliorer la F1 en abaissant le seuil. En revanche, si la F1 était de 0,5 et le seuil de 0,1, vous devriez probablement augmenter le seuil pour améliorer la F1.

Le document avec tous les détails et une explication des raisons pour lesquelles F1 peut ou non être une bonne mesure à optimiser (dans le cas unique et multilabel) peut être trouvé ici:

https://arxiv.org/abs/1402.1892

Désolé qu'il ait fallu 9 mois pour que ce message soit porté à mon attention. J'espère que vous trouverez toujours les informations utiles!

Zachary Chase Lipton
la source
1
La F1 peut-elle être> 1? Si vous avez 90% A et 10% ~ A, je pense que vous voudriez un seuil> 0,5.
gung - Rétablir Monica
1
Salut @gung. Non, par définition F1 = 2 * p * r / (p + r) et, comme toutes les mesures F-bêta, a une plage [0,1]. Le déséquilibre de classe ne modifie pas la plage de score F1. Pour certaines applications, vous pouvez en effet souhaiter des prédictions faites avec un seuil supérieur à 0,5. Plus précisément, cela se produit chaque fois que vous pensez que les faux positifs sont pires que les faux négatifs. Mais un tel seuil n'optimiserait pas le score F1. Pour comprendre pourquoi, le score F1 a été développé dans le cadre de la recherche d'informations. Dans ces paramètres, la classe positive est rare et généralement les faux positifs ne sont pas aussi coûteux que les faux négatifs.
Zachary Chase Lipton
@ZacharyChaseLipton Supposons que j'ai un ensemble de données divisé en train / val / test. Pour un classificateur qui génère une probabilité, je sélectionnerais le seuil F1 optimal sur l'ensemble de validation en examinant le seuil qui donne le meilleur F1. Cela semble raisonnable car la sélection du seuil semble similaire à la sélection du meilleur modèle. Est-ce la bonne chose à faire?
pir
De plus, supposons que j'ai un classificateur qui ne génère pas de probabilités (comme un SVM). Comment optimiser alors la F1 sur l'ensemble de validation?
pir
J'en ai fait une question: stats.stackexchange.com/questions/283931/…
pir