출퇴근길에 공부하는 머신러닝
분류 모델의 성능을 평가하는 것은 중요한 과정이다. 이를 통해서 모델이 얼마나 잘 작동하는지 알 수 있으며, 모델의 성능을 개선할 수 있는 방향을 제시할 수 있기 때문이다. 그리고 평가 지표는 모델의 예측 성능을 다양한 관점에서 해석하게 해 준다. 지금부터 이러한 분류 모델은 어떻게 평가를 하고 해석하는지 살펴보도록 하겠다.
Confusion Matrix는 분류 모델의 성능을 평가하는 기본 도구이다. 이 행렬은 모델의 True Positive, False Negative, False Positive, True Negative의 4가지 경우를 보여준다. 그림을 예시로 들면 다음과 같다.
True Positive(참 양성) : 모델이 Positive로 예측하였고 실제 값도 Positive인 경우이다.
False Negative(거짓 음성) : 모델이 Negative로 예측하였으나 실제 값은 Positive인 경우이다.
False Positive(거짓 양성) : 모델이 Positive로 예측하였으나 실제 값은 Negative인 경우이다.
True Negative(참 음성) : 모델이 Negative로 예측하였고, 실제 값도 Negative인 경우이다.
정확도는 모델이 올바르게 예측한 케이스의 비율로, 전체적인 성능을 나타내는 지표로, 단순하고 직관적이다. 그러나 클래스 불균형 문제에서는 정확도만으로는 모델의 성능을 올바르게 판단하기가 어렵다.
Accuracy = TP+TN/TP+TN+FP+FN
정밀도는 모델이 Positive로 예측한 것 중 실제로 Positive인 것의 비율이다. 이러한 정밀도는 거짓 양성(FP)을 줄이는 것이 중요할 때 사용된다. 예를 들어, 스팸 메일 필터에서는 중요한 메일을 스팸으로 분류하는 것을 피해야 하므로 정밀도가 중요하다.
Precision = TP/TP+FP
재현율은 실제 Positive 중에서 모델이 올바르게 Positive로 예측한 것의 비율이다. 재현율은 거짓 음성(FN)을 줄이는 것이 중요할 때 사용된다. 예를 들면, 암 진단에서는 실제 암 환자를 정상으로 판단하는 것을 피해야 하므로 재현율이 중요하다.
Recall = TP/TP+FN
특이도는 실제 Negative 중에서 모델이 올바르게 Negative로 예측한 것의 비율이다. 이러한 특이도는 거짓 양성(FP)에 더욱 집중하는 지표로, 거짓 양성의 비용이 높을 때 중요하게 사용된다.
Specificity = TN/TN+FP
클래스 밸런스는 머신러닝에서 중요한 고려사항이다. 이를 고려하지 않으면 모델은 다수 클래스를 더 잘 예측할 수 있는 경향이 있기 때문에, 미묘한 패턴이나 소수 클래스의 특성을 잡아내지 못할 수 있다. 결국 모델의 일반화 성능을 저하시킬 수 있다는 것이다. 여기에서 일반화 성능이 저하된다는 것은 해당 모델이 실제 산업에서 잘 적용이 안되어 예측이 틀릴 가능성이 높아진다는 것이다.
그렇기 때문에 소수 클래스가 있으면 어버 샘플링을 하거나, 다수 클래스를 언더샘플링한다. 또 다른 방법으로는 소수 클래스의 샘플에 더 높은 가중치를 부여하여 모델 학습에 더 큰 영향이 미치도록 할 수 있다. 그리고 오늘 소개한 평가지표로 올바르게 평가할 수 있도록 해야 한다. 마지막으로 클래스 불균형을 해결할 수 있는 방법으로는 앙상블 기법이 있다. 이에 대해서는 다음 편에서 소개하도록 하겠다.