co oznaczają liczby w raporcie klasyfikacyjnym sklearn?

29

Mam poniżej przykład, który wyciągnąłem ze sklearn.metrics.classification_report dokumentacji sklearn.

Nie rozumiem, dlaczego istnieją wartości f1-score, precyzja i przywołanie dla każdej klasy, w której moim zdaniem klasa jest etykietą predyktora? Myślałem, że wynik f1 mówi o ogólnej dokładności modelu. Co również mówi nam kolumna wsparcia? Nie mogłem znaleźć żadnych informacji na ten temat.

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
źródło

Odpowiedzi:

21

Wynik f1 daje harmoniczną średnią precyzji i przywołania. Wyniki odpowiadające każdej klasie pokażą dokładność klasyfikatora w klasyfikacji punktów danych w tej konkretnej klasie w porównaniu do wszystkich innych klas.

Wspomaganie to liczba próbek prawdziwej odpowiedzi, które znajdują się w tej klasie.

Dokumentację dotyczącą obu środków można znaleźć w dokumentacji sklearn.

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

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

EDYTOWAĆ

Ostatnia linia podaje średnią ważoną precyzji, przywołania i wyniku f1, gdzie wagi są wartościami podporowymi. więc dla precyzji średnia to (0.50*1 + 0.0*1 + 1.0*3)/5 = 0.70. Suma jest tylko za całkowite wsparcie, które wynosi 5 tutaj.

Nitin
źródło
1
co z ostatnią linią avg / total? Wydaje się, że nie pasuje do kolumny, co oznacza ... Jak jest obliczana i co to znaczy?
Antoine,
@Antoine Zastanawiam się również nad tym samym. Czy dowiedziałeś się, jak to jest obliczane?
Jasnoniebieska kropka
@Antoine Ostatnia linia podaje średnią ważoną precyzji, przywołania i wyniku f1, gdzie wagi są wartościami podporowymi. więc dla precyzji średnia to (0.50*1 + 0.0*1 + 1.0*3)/5 = 0.70. Suma jest tylko za całkowite wsparcie, które wynosi 5 tutaj.
Nitin
Dzięki poprzedniej odpowiedzi @Nitin znalazłem za pomocą linków najlepsze opisy wizualne i intuicję matematyki: en.wikipedia.org/wiki/Precision_and_recall en.wikipedia.org/wiki/F1_score
Bogdan Korecki