que signifient les chiffres du rapport de classification de sklearn?

29

J'ai ci-dessous un exemple que j'ai tiré de la documentation sklearn.metrics.classification_report de sklearn.

Ce que je ne comprends pas, c'est pourquoi il y a des valeurs de score f1, de précision et de rappel pour chaque classe où je crois que la classe est l'étiquette prédictive? Je pensais que le score f1 vous indique la précision globale du modèle. De plus, que nous dit la colonne d'assistance? Je n'ai trouvé aucune information à ce sujet.

print(classification_report(y_true, y_pred, target_names=target_names))
             precision    recall  f1-score   support

    class 0       0.50      1.00      0.67         1
    class 1       0.00      0.00      0.00         1
    class 2       1.00      0.67      0.80         3

avg / total       0.70      0.60      0.61         5
jxn
la source

Réponses:

21

Le score f1 vous donne la moyenne harmonique de précision et de rappel. Les scores correspondant à chaque classe vous indiqueront la précision du classificateur dans la classification des points de données dans cette classe particulière par rapport à toutes les autres classes.

Le support est le nombre d'échantillons de la vraie réponse qui se trouvent dans cette classe.

Vous pouvez trouver de la documentation sur les deux mesures dans la documentation sklearn.

Support - http://scikit-learn.org/stable/modules/generated/sklearn.metrics.precision_recall_fscore_support.html

F1-score - http://scikit-learn.org/stable/modules/generated/sklearn.metrics.f1_score.html

MODIFIER

La dernière ligne donne une moyenne pondérée de précision, de rappel et de score f1 où les poids sont les valeurs de support. donc pour plus de précision, la moyenne est (0.50*1 + 0.0*1 + 1.0*3)/5 = 0.70. Le total est juste pour le support total qui est de 5 ici.

Nitine
la source
1
qu'en est-il de la dernière ligne avg / total? Il ne semble pas correspondre aux moyennes de la colonne ... Comment est-il calculé et que signifie-t-il?
Antoine
@Antoine, je me demande aussi la même chose. Saviez-vous comment est-il calculé?
Pale Blue Dot
@Antoine La dernière ligne donne une moyenne pondérée de précision, de rappel et de score f1 où les poids sont les valeurs de support. donc pour plus de précision, la moyenne est (0.50*1 + 0.0*1 + 1.0*3)/5 = 0.70. Le total est juste pour le support total qui est de 5 ici.
Nitin
Grâce à la réponse précédente de @Nitin, j'ai trouvé par liens les meilleures descriptions visuelles et l'intuition derrière les mathématiques: en.wikipedia.org/wiki/Precision_and_recall en.wikipedia.org/wiki/F1_score
Bogdan Korecki