다음을 통해 공유


평가 메트릭

데이터 세트는 학습용 세트와 테스트용 세트의 두 부분으로 나뉩니다. 학습 집합은 모델을 학습시키는 데 사용되고 테스트 집합은 모델 성능 및 평가를 계산하기 위해 학습 후 모델을 테스트하는 데 사용됩니다. 테스트 집합은 학습 프로세스를 통해 모델에 도입되지 않으므로 모델이 새 데이터에 대해 테스트되었는지 확인해야 합니다.

학습이 성공적으로 완료되면 모델 평가가 자동으로 트리거됩니다. 평가 프로세스는 학습된 모델을 사용하여 테스트 세트의 문서에 대한 사용자 지정 클래스를 예측하고 제공된 데이터 태그(진리 기준선 설정)와 비교하는 것으로 시작됩니다. 결과가 반환되므로 모델의 성능을 검토할 수 있습니다. 평가를 위해 사용자 지정 텍스트 분류는 다음 메트릭을 사용합니다.

  • 정밀도: 모델이 얼마나 정확하고 정확한지를 측정합니다. 올바르게 식별된 긍정(진양성)과 식별된 모든 긍정 간의 비율입니다. 정밀도 메트릭은 예측된 클래스 중 얼마나 많은 레이블이 올바르게 지정되었는지 보여 줍니다.

    Precision = #True_Positive / (#True_Positive + #False_Positive)

  • 재현율: 실제 양성 클래스를 예측하는 모델의 능력을 측정합니다. 예측된 양성 항목과 라벨이 지정된 항목 간의 비율입니다. 재현율 메트릭은 예측된 클래스 중 얼마나 많은 것이 올바른지 보여 줍니다.

    Recall = #True_Positive / (#True_Positive + #False_Negatives)

  • F1 점수: F1 점수는 정밀도와 재현율의 함수입니다. 정밀도와 재현율 간의 균형을 찾을 때 필요합니다.

    F1 Score = 2 * Precision * Recall / (Precision + Recall)

참고

정밀도, 재현율 및 F1 점수는 각 클래스에 대해 개별적으로 계산(클래스 수준 평가) 및 모델 집합(모델 수준 평가)에 대해 계산됩니다.

모델 수준 및 클래스 수준 평가 메트릭

정밀도, 재현율 및 평가의 정의는 클래스 수준 및 모델 수준 평가 모두에서 동일합니다. 그러나 진양성, 가양성가음성의 개수는 다음 예와 같이 다릅니다.

아래 섹션에서는 다음 데이터 세트 예를 사용합니다.

문서 실제 수업 예상 클래스
1 액션, 코미디 코미디
2 작업 작업
3 로맨스 로맨스
4 로맨스, 코미디 로맨스
5 코미디 작업

action 클래스에 대한 클래스 수준 평가

수량 설명
참 긍정 1 문서 2는 action으로 올바르게 분류되었습니다.
거짓 긍정 1 문서 5가 action으로 잘못 분류되었습니다.
거짓 부정 1 문서 1은 작업 으로 분류되지 않았습니다.

정밀도 = #True_Positive / (#True_Positive + #False_Positive) = 1 / (1 + 1) = 0.5

재현율 = #True_Positive / (#True_Positive + #False_Negatives) = 1 / (1 + 1) = 0.5

F1 점수 = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.5 * 0.5) / (0.5 + 0.5) = 0.5

comedy 수업에 대한 수업 수준 평가

수량 설명
참 긍정 1 문서 1은 comedy로 올바르게 분류되었습니다.
거짓 긍정 0 comedy로 잘못 분류된 파일이 없습니다.
거짓 부정 2 문서 5와 4는 코미디 로 분류되지 않습니다.

정밀도 = #True_Positive / (#True_Positive + #False_Positive) = 1 / (1 + 0) = 1

재현율 = #True_Positive / (#True_Positive + #False_Negatives) = 1 / (1 + 2) = 0.33

F1 점수 = 2 * Precision * Recall / (Precision + Recall) = (2 * 1 * 0.67) / (1 + 0.67) = 0.80

집합적 모델에 대한 모델 수준 평가

수량 설명
참 긍정 4 문서 1, 2, 3 및 4에는 예측 시 올바른 클래스가 제공되었습니다.
거짓 긍정 1 문서 5에는 예측 시 잘못된 클래스가 할당되었습니다.
거짓 부정 2 문서 1과 4에는 예측 시 올바른 클래스가 모두 제공되지 않습니다.

정밀도 = #True_Positive / (#True_Positive + #False_Positive) = 4 / (4 + 1) = 0.8

재현율 = #True_Positive / (#True_Positive + #False_Negatives) = 4 / (4 + 2) = 0.67

F1 점수 = 2 * Precision * Recall / (Precision + Recall) = (2 * 0.8 * 0.67) / (0.8 + 0.67) = 0.73

참고

단일 레이블 분류 모델의 경우 위음성과 오양성의 수는 항상 동일합니다. 사용자 지정 단일 레이블 분류 모델은 항상 각 문서에 대해 하나의 클래스를 예측합니다. 예측이 올바르지 않다면, 예측된 클래스의 수가 1씩 증가하고, 실제 클래스의 수가 1씩 증가합니다. 모델의 전체 수와 이에 대한 FPFN 수는 항상 동일합니다. 문서의 클래스를 하나라도 예측하지 못하면 거짓 부정으로 계산되므로 다중 레이블 분류에서는 그렇지 않습니다.

클래스 수준 평가 메트릭 해석

그렇다면 특정 클래스에 대해 높은 정밀도 또는 높은 재현율을 갖는다는 것은 실제로 무엇을 의미하나요?

회수 자릿수 해석
높음 높음 모델이 클래스 지정을 성공적으로 처리했습니다.
낮음 높음 모델이 항상 이 클래스를 예측할 수는 없지만 예측할 때 높은 확신을 가지고 있습니다. 이 평가는 이 클래스가 데이터 세트에서 과소 표현되기 때문일 수 있으므로 데이터 배포의 균형을 맞추는 것이 좋습니다.
높음 낮음 모델은 이 클래스를 잘 예측합니다. 그러나 신뢰도가 낮습니다. 데이터 세트의 클래스 과잉 표현 때문일 수 있으므로 데이터 배포의 균형을 맞추는 것이 좋습니다.
낮음 낮음 모델은 높은 신뢰도 없이 이 클래스를 제대로 처리하지 못했습니다.

사용자 지정 텍스트 분류 모델은 가음성 및 가양성을 모두 경험할 것으로 예상됩니다. 각 시스템이 전체 시스템에 미치는 영향을 고려해야 합니다. 모델이 올바른 예측을 무시하고 잘못된 예측을 인식하는 시나리오를 신중하게 고려합니다. 시나리오에 따라 정밀도 또는 재현율이 모델 성능을 평가하는 데 더 적합할 수 있습니다.

예를 들어 시나리오에 기술 지원 티켓 처리가 포함된 경우 잘못된 클래스를 예측하면 잘못된 부서/팀으로 전달될 수 있습니다. 이 예에서는 시스템을 가양성(false positive)에 더 민감하게 만드는 것을 고려해야 하며 정밀도는 평가에 더 관련성이 높은 메트릭이 될 것입니다.

또 다른 예로, 시나리오에서 전자 메일을 "중요" 또는 "스팸"으로 분류하는 경우 잘못된 예측으로 인해 "스팸"이라는 레이블이 지정된 경우 유용한 전자 메일을 놓칠 수 있습니다. 그러나 스팸 전자 메일에 중요한 레이블이 지정된 경우 무시해도 됩니다. 이 예에서 시스템을 가음성에 더 민감하게 만드는 것을 고려해야 하며 회수는 평가에 더 관련성이 높은 메트릭이 될 것입니다.

범용 시나리오 또는 정밀도와 재현율이 모두 중요한 경우에 최적화하려는 경우 F1 점수를 활용할 수 있습니다. 평가 점수는 시나리오 및 수용 기준에 따라 주관적입니다. 모든 시나리오에 대해 작동하는 절대 메트릭은 없습니다.

지침

모델을 학습한 후에는 모델을 개선하는 방법에 대한 몇 가지 지침과 권장 사항을 볼 수 있습니다. 지침 섹션의 모든 지점을 다루는 모델을 사용하는 것이 좋습니다.

  • 학습 집합에는 충분한 데이터가 있습니다. 학습 데이터에서 레이블이 지정된 인스턴스가 15개 미만인 클래스 형식은 사례에 대한 학습이 부적절하기 때문에 정확도가 낮아질 수 있습니다.

  • 모든 클래스 형식은 테스트 집합에 있습니다. 테스트 데이터에 클래스 형식에 대한 레이블이 지정된 인스턴스가 없는 경우 테스트되지 않은 시나리오로 인해 모델의 테스트 성능이 덜 포괄적일 수 있습니다.

  • 클래스 형식은 학습 및 테스트 집합 내에서 균형이 조정됩니다. 샘플링 바이어스로 인해 클래스 형식의 빈도를 부정확하게 표현하면 해당 클래스 형식이 너무 자주 또는 너무 적게 발생할 것으로 예상하는 모델로 인해 정확도가 낮아질 수 있습니다.

  • 클래스 형식은 학습 및 테스트 집합 간에 균등하게 분산됩니다. 클래스 형식의 혼합이 학습 및 테스트 집합 간에 일치하지 않는 경우 모델이 테스트되는 방식과 다르게 학습되므로 테스트 정확도가 낮아질 수 있습니다.

  • 학습 세트의 클래스 형식이 명확하게 구분됩니다. 학습 데이터가 여러 클래스 형식에 대해 비슷한 경우 클래스 형식이 서로 잘못 분류되는 경우가 많으므로 정확도가 낮아질 수 있습니다.

혼동 행렬

중요합니다

다중 레이블 분류 프로젝트에는 혼동 행렬을 사용할 수 없습니다. 혼동 행렬은 모델 성능 평가에 사용되는 N x N 행렬입니다. 여기서 N은 클래스의 수입니다. 이 행렬은 예상 레이블을 모델에서 예측한 레이블과 비교합니다. 이를 통해 모델이 얼마나 잘 수행되고 있으며 어떤 종류의 오류가 발생하는지에 대한 전체적인 관점을 제공합니다.

혼동 행렬을 사용하여 서로 너무 가까이 있고 자주 혼동되는(모호성) 클래스를 식별할 수 있습니다. 이 경우 이러한 클래스를 함께 병합하는 것이 좋습니다. 가능하지 않을 경우에는 두 클래스 모두를 사용해 더 많은 문서에 레이블을 지정해서 모델이 그 차이를 구분할 수 있도록 지원하는 것이 좋습니다.

모든 올바른 예측은 테이블의 대각선에 있으므로 테이블의 예측 오류를 시각적으로 쉽게 검사할 수 있습니다.

혼동 행렬 예의 스크린샷.

혼동 행렬에서 클래스 수준 및 모델 수준 평가 메트릭을 계산할 수 있습니다.

  • 대각선의 값은 각 클래스의 진양성 값입니다.
  • 클래스 행의 값 합계(대각선 제외)는 모델의 가양성입니다.
  • 클래스 열 값의 합(대각선 제외)은 모델의 가음성입니다.

유사하게,

  • 모델의 진양성은 모든 클래스에 대한 진양성의 합계입니다.
  • 모델의 가양성은 모든 의도에 대한 가양성의 합계입니다.
  • 모델의 가음성은 모든 의도에 대한 가음성의 합계입니다.

다음 단계