머신러닝

분류모델 성능평가기준 비교 ( Accuracy, AUC-ROC, F1-Score )

문기문기! 2023. 7. 20. 15:31

모델의 성능평가 비교에 앞서 기초지식인 Confusion Matrix 에 대해 간략히 소개한다.

 

 

 

 

Confusion Matrix : Training을 통한 Prediction 성능을 측정하기 위해 예측 value 와 실제 value를 비교하기 위한 표

 

 

 

 

- F1-Score

Precision과 Recall 의 조화평균이다. 클래스 간의 불균에서 1 클래스에 집중하여 분류율을 확인하여 accuracy 오류를 해석할 수 있다.

 

- ROC-AUC (Area Under Curve)

 

ROC는 모델의 참양성률(TPR)과 거짓양성률(FPR) 간의 관계를 매핑하는 그래프이다.

ROC 곡선 아래의 영역 AUC 는 클래스를 정확하게 예측하는 모델의 성능과 동일하다.

 

 

 

분류모델 성능평가기준 비교 

 

1. Accuracy (정확도)

 

전체 데이터에서 True, False 를 예측하여 정답을 맞추는 비율이다. 모든 클래스에 대해 분류 비율을 평가하는 지표로, 클래스 간 불균형이 적은 경우 매우 유용하다. 하지만 데이터 클래스의 불균형이 심한 경우 잘못된 결과를 해석할 수 있다. 

ex) "0" 클래스 비중이 매우 높다면 "1" 클래스의 정확도와 관계없이 "0" 클래스의 정확도에 의해 수치가 결정된다.

 

 

2. ROC - AUC

 

ROC 는 이진분류 문제에서 클래스 간 불균형이 심한 경우에도 성능을 평가할 수 있는 성능지표이다. 모델의 민감도와 특이도를 시각화하고 AUC를 통해 전체적인 성능을 평가한다. 모든 임계값에서 분류 성능을 평균적으로 계산하고 불균형성여부와 상관없이 성능 평가를 할 수 있는 Accuracy 의 상위호환 평가지표라고 할 수 있다. 하지만 다중 클래스 분류 문제에서는 직접적으로 사용할 수 없다는 단점이 있다.

 

다중 클래스 분류문제를 해결하기 위해 대표적으로 OvA, OvO 방법이 있다.

1) One-vs-All (OvA) 방법 : 다중 클래스 분류를 이진 분류로 변환한다.

2) One-vs-One (OvO) 방법 : 클래스들을 두개씩 짝지어서 이진 분류 문제로 변환한다. 

 

 

 

 

3. F1 - Score

 

데이터 클래스의 불균형한 상황에서 유용하게 쓰이는 지표이다. "1" 클래스에 대해 관심을 갖는 이진 분류 문제에서 대부분 사용한다. 대표적인 예로 병원 환자 예측 문제가 있다. 불균형한 환자 예측 문제에서 "1" 클래스 (질병이 있는 환자)가 "0" 클래스 (건간한 환자)보다 훨씬 적을 수 있다. 특정 질병의 환자는 전체 인구 중 1% 정도로 부족한데 "0" 클래스의 분류 정확도가 높고 "1"클래스의 정확도가 낮다면 정확도는 높지만 분류 역할을 제대로 해내지 못하는 무의미한 모델이라고 할 수 있다.