sklearn의 분류 보고서에서 숫자는 무엇을 의미합니까?


29

sklearn의 sklearn.metrics.classification_report 문서에서 가져온 예가 아래에 있습니다.

내가 이해하지 못하는 것은 클래스가 예측 변수라고 생각되는 각 클래스에 대해 f1 점수, 정밀도 및 리콜 값이있는 이유입니다. f1 점수는 모델의 전체 정확도를 나타냅니다. 또한 지원란에서 무엇을 알려줍니까? 나는 그것에 관한 정보를 찾을 수 없었다.

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

답변:


21

f1- 점수는 조화와 정밀도의 평균을 제공합니다. 모든 클래스에 해당하는 점수는 다른 모든 클래스와 비교하여 해당 클래스의 데이터 포인트를 분류 할 때 분류 자의 정확성을 알려줍니다.

지원은 해당 클래스에있는 실제 응답의 샘플 수입니다.

sklearn 문서에서 두 측정 값에 대한 문서를 찾을 수 있습니다.

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

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

편집하다

마지막 줄은 가중치가 지원 값인 가중 평균 정밀도, 리콜 및 f1- 점수를 제공합니다. 정밀도를 위해 평균은 (0.50*1 + 0.0*1 + 1.0*3)/5 = 0.70입니다. 총계는 총 5 건에 불과합니다.


1
마지막 줄은 avg / total어떻습니까? 열의 의미와 일치하지 않는 것 같습니다 ... 어떻게 계산되고 무엇을 의미합니까?
Antoine

@Antoine 나는 또한 같은 궁금합니다. 계산 방법을 찾았습니까?
Pale Blue Dot

@Antoine 마지막 줄은 가중치가 지원 값인 가중 평균 정밀도, 리콜 및 f1- 점수를 제공합니다. 정밀도를 위해 평균은 (0.50*1 + 0.0*1 + 1.0*3)/5 = 0.70입니다. 총계는 총 5 건에 불과합니다.
Nitin

: @Nitin 나는 이전의 대답 덕분에 링크로 수학 뒤에 최고의 시각적 설명과 직관을 발견 en.wikipedia.org/wiki/Precision_and_recall en.wikipedia.org/wiki/F1_score
보그 Korecki
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.