web-dev-qa-db-fra.com

Qu'est-ce qu'une gamme de mesures F1 mauvaise, décente, bonne et excellente?

Je comprends que F1-mesure est une moyenne harmonique de précision et de rappel. Mais quelles sont les valeurs qui définissent le degré de validité d'une mesure F1? Je n'arrive pas à trouver de références (google ou universitaires) répondant à ma question.

12
KubiK888

Considérons sklearn.dummy.DummyClassifier(strategy='uniform') qui est un classifieur qui fait des suppositions aléatoires (un classifieur a.k. bad). Nous pouvons considérer DummyClassifier comme un repère à battre, voyons maintenant que c’est le score f1. 

Dans un problème de classification binaire, avec jeu de données équilibré: 6198 échantillons au total, 3099 échantillons étiquetés en tant que 0 et 3099 échantillons étiquetés en tant que 1, score f1 est 0.5 pour les deux classes et la moyenne pondérée est 0.5:

 strategy_uniform

Deuxième exemple, en utilisant DummyClassifier(strategy='constant'), c’est-à-dire en devinant la même étiquette à chaque fois, en devinant l’étiquette 1 à chaque fois dans ce cas, la moyenne des scores f1 est 0.33, tandis que f1 pour l’étiquette 0 est 0.00:

 strategy_constant

Je considère que ces scores sont mauvais, compte tenu de l'ensemble de données équilibré.

PS résumé généré à l'aide de sklearn.metrics.classification_report

9
Sida Zhou

Vous n'avez trouvé aucune référence pour la plage de mesure f1 car il n'y en a pas. La mesure F1 est une matrice combinée de précision et de rappel. 

Supposons que vous ayez deux algorithmes, l'un ayant une précision plus élevée et un rappel plus faible. Par cette observation, vous ne pouvez pas dire quel algorithme est le meilleur, à moins que votre objectif ne soit de maximiser la précision. 

Donc, étant donné cette ambiguïté sur la manière de sélectionner un algorithme supérieur parmi deux (un avec un rappel plus élevé et un autre avec une précision plus élevée), nous utilisons f1-measure pour sélectionner un algorithme supérieur. 

f1-mesure est un terme relatif, c'est pourquoi il n'y a pas de plage absolue pour définir la qualité de votre algorithme. 

0
saurabh agarwal