평가 메트릭
데이터 세트는 학습용 세트와 테스트용 세트의 두 부분으로 나뉩니다. 학습 집합은 모델을 학습시키는 데 사용되고 테스트 집합은 모델 성능 및 평가를 계산하기 위해 학습 후 모델을 테스트하는 데 사용됩니다. 테스트 집합은 학습 프로세스를 통해 모델에 도입되지 않으므로 모델이 새 데이터에 대해 테스트되었는지 확인해야 합니다.
학습이 성공적으로 완료되면 모델 평가가 자동으로 트리거됩니다. 평가 프로세스는 학습된 모델을 사용하여 테스트 세트의 문서에 대한 사용자 지정 클래스를 예측하고 제공된 데이터 태그(진리 기준선 설정)와 비교하는 것으로 시작됩니다. 모델의 성능을 검토할 수 있도록 결과가 반환됩니다. 평가를 위해 사용자 지정 텍스트 분류는 다음 메트릭을 사용합니다.
정밀도: 모델이 얼마나 정확하고 정확한지를 측정합니다. 올바르게 식별된 긍정(진양성)과 식별된 모든 긍정 간의 비율입니다. 정밀도 메트릭은 예측된 클래스 중 얼마나 많은 레이블이 올바르게 지정되었는지 보여 줍니다.
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 | action, comedy | comedy |
2 | 작업 | 작업 |
3 | romance | romance |
4 | romance, comedy | romance |
5 | comedy | 작업 |
action 클래스에 대한 클래스 수준 평가
키 | Count | 설명 |
---|---|---|
참 긍정 | 1 | 문서 2는 action으로 올바르게 분류되었습니다. |
거짓 긍정 | 1 | 문서 5가 action으로 잘못 분류되었습니다. |
거짓 부정 | 1 | 문서 1은 있어야 하지만 action으로 분류되지 않았습니다. |
정밀도 = #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 수업에 대한 수업 수준 평가
키 | Count | 설명 |
---|---|---|
진양성 | 1 | 문서 1은 comedy로 올바르게 분류되었습니다. |
거짓 긍정 | 0 | comedy로 잘못 분류된 파일이 없습니다. |
가음성 | 2 | 파일 5와 4는 comedy로 분류되어야 했지만 분류되지 않았습니다. |
정밀도 = #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
집합적 모델에 대한 모델 수준 평가
키 | Count | 설명 |
---|---|---|
참 긍정 | 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
참고 항목
단일 레이블 분류 모델의 경우 가음성 및 가양성의 개수는 항상 동일합니다. 사용자 지정 단일 레이블 분류 모델은 항상 각 문서에 대해 하나의 클래스를 예측합니다. 예측이 정확하지 않으면 예측된 클래스의 FP 수가 1씩 증가하고 실제 클래스의 FN이 1씩 증가하므로 모델에 대한 FP 및 FN의 전체 수는 항상 동일합니다. 이는 다중 레이블 분류의 경우가 아닙니다. 문서의 클래스 중 하나를 예측하는 데 실패하면 가음성으로 계산되기 때문입니다.
클래스 수준 평가 메트릭 해석
그렇다면 특정 클래스에 대해 높은 정밀도 또는 높은 재현율을 갖는다는 것은 실제로 무엇을 의미하나요?
재현율 | 정밀도 | 해석 |
---|---|---|
높음 | 높음 | 이 클래스는 모델에 의해 완벽하게 처리됩니다. |
낮음 | 높음 | 모델이 항상 이 클래스를 예측할 수는 없지만 예측할 때 높은 확신을 가지고 있습니다. 이는 이 클래스가 데이터 세트에서 과소 대표되기 때문일 수 있으므로 데이터 분포의 균형을 고려합니다. |
높음 | 낮음 | 모델은 이 클래스를 잘 예측하지만 신뢰도는 낮습니다. 이는 이 클래스가 데이터 세트에 과도하게 표시되기 때문일 수 있으므로 데이터 분포의 균형을 고려합니다. |
낮음 | 낮음 | 이 클래스는 일반적으로 예측되지 않는 모델에 의해 제대로 처리되지 않고 예측될 때 신뢰도가 높지 않습니다. |
사용자 지정 텍스트 분류 모델은 가음성 및 가양성을 모두 경험할 것으로 예상됩니다. 각각이 전체 시스템에 어떤 영향을 미칠지 고려하고 모델이 올바른 예측을 무시하고 잘못된 예측을 인식하는 시나리오를 신중하게 생각해야 합니다. 시나리오에 따라 정밀도 또는 재현율이 모델 성능을 평가하는 데 더 적합할 수 있습니다.
예를 들어 시나리오에 기술 지원 티켓 처리가 포함된 경우 잘못된 클래스를 예측하면 잘못된 부서/팀으로 전달될 수 있습니다. 이 예에서는 시스템을 가양성(false positive)에 더 민감하게 만드는 것을 고려해야 하며 정밀도는 평가에 더 관련성이 높은 메트릭이 될 것입니다.
또 다른 예로, 시나리오에서 이메일을 "중요" 또는 "스팸"으로 분류하는 경우 잘못된 예측으로 인해 "스팸" 레이블이 지정된 경우 유용한 이메일을 놓칠 수 있습니다. 그러나 스팸 메일에 중요 레이블이 지정되어 있으면 무시할 수 있습니다. 이 예에서 시스템을 가음성에 더 민감하게 만드는 것을 고려해야 하며 회수는 평가에 더 관련성이 높은 메트릭이 될 것입니다.
범용 시나리오 또는 정밀도와 재현율이 모두 중요한 경우에 최적화하려는 경우 F1 점수를 활용할 수 있습니다. 평가 점수는 시나리오 및 수용 기준에 따라 주관적입니다. 모든 시나리오에 적용되는 절대적인 메트릭은 없습니다.
지침
모델이 학습되면 모델을 향상시키는 방법에 대한 몇 가지 지침과 권장 사항이 표시됩니다. 지침 섹션의 모든 사항을 처리하는 모델을 사용하는 것이 좋습니다.
학습 세트에 충분한 데이터가 있습니다. 클래스 형식의 학습 데이터에 레이블이 지정된 15개 미만의 인스턴스가 있는 경우 모델이 이러한 경우에 대해 적절하게 학습되지 않아 정확도가 낮아질 수 있습니다.
모든 클래스 형식이 테스트 세트에 있습니다. 테스트 데이터에 클래스 형식에 대한 레이블이 지정된 인스턴스가 없는 경우 테스트되지 않은 시나리오로 인해 모델의 테스트 성능이 덜 포괄적일 수 있습니다.
클래스 형식은 학습 및 테스트 세트 내에서 균형을 유지합니다. 샘플링 편향으로 인해 클래스 형식의 빈도가 부정확하게 표현되면 해당 클래스 형식이 너무 자주 또는 너무 적게 발생할 것으로 예상하는 모델로 인해 정확도가 낮아질 수 있습니다.
클래스 형식은 학습 세트와 테스트 세트 간에 균등하게 배포되어 있습니다. 클래스 형식의 혼합이 학습 세트와 테스트 세트 간에 일치하지 않는 경우 모델이 테스트되는 방식과 다르게 학습되므로 테스트 정확도가 낮아질 수 있습니다.
학습 세트의 클래스 형식이 명확하게 구분됩니다. 학습 데이터가 여러 클래스 형식에 대해 비슷한 경우 클래스 형식이 서로 잘못 분류되는 경우가 많으므로 정확도가 낮아질 수 있습니다.
혼동 행렬
Important
다중 레이블 분류 프로젝트에는 혼동 행렬을 사용할 수 없습니다. 혼동 행렬은 모델 성능 평가에 사용되는 N x N 행렬입니다. 여기서 N은 클래스의 수입니다. 이 행렬은 예상 레이블을 모델에서 예측한 레이블과 비교합니다. 이를 통해 모델이 얼마나 잘 수행되고 있으며 어떤 종류의 오류가 발생하는지에 대한 전체적인 관점을 제공합니다.
혼동 행렬을 사용하여 서로 너무 가까이 있고 자주 혼동되는(모호성) 클래스를 식별할 수 있습니다. 이 경우 이러한 클래스를 함께 병합하는 것이 좋습니다. 가능하지 않을 경우에는 두 클래스 모두를 사용해 더 많은 문서에 레이블을 지정해서 모델이 그 차이를 구분할 수 있도록 지원하는 것이 좋습니다.
모든 올바른 예측은 테이블의 대각선 방향에 위치하므로 대각선 외부의 값으로 표시되는 예측 오류를 테이블에서 시각적으로 쉽게 검사할 수 있습니다.
혼동 행렬에서 클래스 수준 및 모델 수준 평가 메트릭을 계산할 수 있습니다.
- 대각선의 값은 각 클래스의 진양성 값입니다.
- 클래스 행의 값 합계(대각선 제외)는 모델의 가양성입니다.
- 클래스 열 값의 합(대각선 제외)은 모델의 가음성입니다.
마찬가지로,
- 모델의 진양성은 모든 클래스에 대한 진양성의 합계입니다.
- 모델의 가양성은 모든 의도에 대한 가양성의 합계입니다.
- 모델의 가음성은 모든 의도에 대한 가음성의 합계입니다.