분류 모델이 얼마나 잘 학습되었는지에 대한 성능 지표는 Accuracy(정확도), Precision(정밀도), Recall(재현율) 등이 잇다. 각각의 성능 지표 전에 우선 confusion matrix 먼저 알아보자.
Confusion Matrix
Confusion matrix는 실제 클래스와 예측된 클래스의 매칭을 이용하여 분류 모델을 평가하는 도구이다. 이진 분류 문제에서 실제 클래스는 Positive/Negative로 나누어져 있고 분류 모델은 샘플들을 Positive/Negative로 분류한다.
표 내부에 있는 단어를 쉽게 설명을하기 위해 예시로 환자다 아니다로 설명하겠습니다.
- Actual(Positive) : 실제 환자
- Actual(Negative) : 실제 환자가 아님
- Predict(Positive) : 환자로 예측
- Predict(Negative) : 환자가 아닌 것으로 예측
이 부분은 앞의 단어를 성공/실패 뒤의 단어를 긍정예측/부정예측 이라고 생각하시면 생각하시기 쉽다.
- TP(True Positive) : 긍정예측을 성공 즉, 환자라고 예측해서 실제 환자임을 맞춤
- TN(True Negative) : 부정예측을 성공 즉, 비환자라고 예측하여 실제 비환자임을 맞춤
- FP(False Positive) : 긍정예측을 실패 즉, 환자라고 예측했지만 비환자임
- FN(False Negative) : 부정예측을 실패 즉, 비환자라고 예측했지만 실제 환자임
Accuracy(정확도)
Accuracy란 판별한 전체 샘플 중 TP와 TN의 비율이다. 즉 맞게 예측한(틀린건 틀렸다고, 맞은건 맞다고 예측) 비율이다. 분류 모델을 평가하기에 가장 단순한 지표이지만, 불균형한 클래스를 가진 데이터셋을 평가하기 어렵다는 단점이 있다.
예를 들어 실제 데이터가 Positive와 Negative의 비율이 2:8로 불균형한 클래스를 가지는 데이셋에서는 모든 예측을 Negative로 예측하는 엉터리 분류기의 정확도도 80%으로 측정되기 때문이다. 따라서 클래스 불균형을 고려하기 위해서는 아래의 다른 성능 평가 지표를 주로 사용한다.
Precision(정밀도)
Precision이란 분류 모델이 Positive로 판정한 것 중, 실제로 Positive인 샘플의 비율이다. Precision은 다른 용어로 PPV(Positive Predictive Value)라고도 한다. Precision은 Positive로 예측했을 때 얼마나 실제 데이터에서 정확한지 나타낸다. 즉, 맞다고 예측한 것 중에 실제로 맞는 것은 몇개인지 나타낸다.
Recall(재현율)
Recall이란 실제 Positive 샘플 중 분류 모델이 Positive로 판정한 비율이다. Recall은 TPR(True Positive Rate, 양성률) 또는 통계학에서는 Sensitivity(민감도)라고도 한다. Recall은 분류 모델이 실제 Positive클래스를 얼마나 빠지지 않고 잘 잡아내는지를 나타낸다.
F1-score
분류 모델의 Precision과 Recall 성능을 동시에 고려하기 위해서 F1-score이라는 지표를 사용할 수 있다. F1-score는 Precision과 Recall의 조화평균으로 정의된다. F1-score는 0과 1사이 값이며 1에 가까울수록 분류 성능이 좋음을 나타낸다.
Precision-Recall Curve
Precision과 Recall은 trade-off관계에 있어 Precision이 올라가면 Recall이 떨어지고, Recall이 올라가면 Precision이 떨어진다. 그림 5와 같이 분류 모델의 decision threshold를 통해 trade-off관계를 조절할 수 있다. Decision threshold란 분류 모델의 결과인 [0, 1] 사이의 값을 positive 또는 negative로 결정하는 경계를 의미한다. (Threshold를 낮게 설정하면 더 많은 데이터를 Positive로 예측하고, 높게 설정하면 더 적게 Positive로 예측합니다.)
그림 6의 왼쪽 그래프는 Precision-Recall 곡선으로, 모델이 양성 예측을 얼마나 잘하는지 보여준다. Recall(재현율)이 높아질수록 Precision(정밀도)이 떨어지는 경향이 있다. 오른쪽 위에 위치할수록 모델의 성능이 좋은 것이다.
오른쪽 그래프는 Threshold(임계값)에 따라 Precision, Recall, F1-score가 어떻게 변하는지를 보여준다. Threshold를 높이면 Precision은 증가하지만 Recall은 감소한다. F1-score가 가장 높은 지점이 Precision과 Recall의 균형이 가장 잘 맞는 최적의 Threshold이다. 두 그래프를 통해 모델의 성능을 평가하고 적절한 Threshold를 결정할 수 있다.
참고 :
'AI > ML' 카테고리의 다른 글
[알파] 초기 다중 회귀 (0) | 2024.10.07 |
---|---|
[ML] Feature Engineering (0) | 2024.09.23 |
[ML] 소프트맥스 회귀 구현하기 (0) | 2024.05.07 |
[ML] 소프트맥스 회귀(Softmax Regression) 이해하기 (0) | 2024.05.03 |
[ML] 원-핫 인코딩(One-Hot Encoding) (0) | 2024.04.05 |