>백엔드 개발 >파이썬 튜토리얼 >Scikit-learn에서 F-점수를 계산할 때 'UndefineMetricWarning'이 나타나는 이유는 무엇입니까?

Scikit-learn에서 F-점수를 계산할 때 'UndefineMetricWarning'이 나타나는 이유는 무엇입니까?

Barbara Streisand
Barbara Streisand원래의
2024-11-25 10:19:14646검색

Why Am I Getting an

F-점수 계산에서 "UndefineMetricWarning" 문제 해결

Sklearn의 F-점수 지표는 레이블이 있는 경우 때때로 "UndefineMetricWarning"을 트리거할 수 있습니다. 예측되지 않은 실측 데이터(y_test)(y_pred). 이는 예측된 샘플이 없는 레이블에 대해 F-점수가 정의되지 않았기 때문에 발생합니다. 이러한 경우 점수는 0.0으로 설정됩니다.

귀하의 경우 첫 번째 실행 중에만 오류가 나타나고 이후에는 오류가 발생하지 않는 것을 알 수 있습니다. 이는 기본적으로 경고가 한 번만 표시되기 때문입니다. warnings.filterwarnings() 함수를 'always'로 설정하여 매번 경고를 표시하면 이 동작을 수정할 수 있습니다.

경고를 방지하려면 다음 두 가지 옵션이 있습니다.

  1. 예측 없이 라벨 무시: labels 매개변수를 y_pred의 고유한 값으로 설정하여 관심 있는 라벨을 지정하세요. 이렇게 하면 예측된 샘플이 없는 라벨이 제외되고 경고가 사라집니다.
import numpy as np

metrics.f1_score(y_test, y_pred, average='weighted', labels=np.unique(y_pred))
  1. 정의되지 않은 측정항목을 명시적으로 처리합니다. 사용자 정의에서 정의되지 않은 측정항목을 처리하려는 경우 방법으로 error_score 매개변수를 사용하여 특정 값(예: -1, 0 또는 NaN)을 정의되지 않음에 할당할 수 있습니다. Metrics.

후행 "precision', 'predicted',average,warn_for)" 오류 메시지는 scikit-learn 0.18.1의 버그로 이후 버전에서 수정되었습니다. 오류 메시지는 결과에 영향을 미치지 않습니다.

위 내용은 Scikit-learn에서 F-점수를 계산할 때 'UndefineMetricWarning'이 나타나는 이유는 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.