[파이썬 머신러닝 완벽 가이드 - 권철민] 책을 참고로 공부한 내용입니다.
머신러닝의 프로세스는 데이터 가공/변환, 모델 학습/예측, 그리고 평가로 구성된다.
머신러닝 모델은 여러 가지 방법으로 예측 성능을 평가할 수 있다. 그 중에서도 성능 평가 지표는 모델이 분류냐 회귀냐에 따라 여러 종류로 나뉜다. 이번에는 분류에 사용되는 성능 평가 지표에 대해 자세히 알아보려고 한다.
특히 이진 분류의 성능 평가 지표에 대해 집중적으로 알아보려고 하는데, 이진 분류에서는 정확도보다는 다른 성능 평가 지표가 더 중요시되는 경우가 많다.
분류의 성능 평가 지표부터 살펴보면 다음과 같다.
- 정확도 (Accuracy)
- 오차행렬 (Confusion Matrix)
- 정밀도 (Precision)
- 재현율 (Recall)
- F1 스코어
- ROC AUC
분류는 결정 클래스 값 종류의 유형에 따라 이진 분류와 멀티 분류로 나뉠 수 있다.
위의 성능 평가 지표는 이진/멀티 분류 모두에 적용되는 지표이지만, 특히 이진 분류에서 더욱 중요하게 강조하는 지표이다.
1. 정확도
실제 데이터에서 예측 데이터가 얼마나 같은지를 판단하는 지표
정확도는 전체 예측 데이터 건수 분의 예측 결과가 동일한 데이터 건수를 말한다.
하지만 정확도 평가 지표는 불균형한 레이블 데이터 세트에서는 성능 수치로 사용돼서는 안된다.
정확도가 가지는 분류 평가 지표로서 한계점을 극복하기 위해 여러 가지 분류 지표와 함께 적용해야 한다.
2. 오차 행렬
학습된 분류 모델이 예측을 수행하면서 얼마나 헷갈리고 있는지도 함께 보여주는 지표
즉, 이진 분류의 예측 오류가 얼마인지와 더불어 어떤 유형의 예측 오류가 발생하고 있는지 함께 나타내는 지표
TP, FN, FP, TN은 예측 클래스(predicted value)와 시리제 클래스(actual value)의 positive 결정 값(값 1)과 Negative 결정 값(값 0)의 결합에 따라 결정된다. 예를 들어 TP는 True Positive의 의미이며 앞 True는 예측 클래스 값과 실제 클래스 값이 같다는 의미고, 뒤의 Positive는 예측값이 Positive 값이라는 의미이다. 즉, TP는 예측을 Positieve 값 1로 예측했는데, 실제 값도 Positive 값 1이라는 의미이다. TP, FN, FP, TN 기호가 의미하는 것은 앞 문자 T/F는 예측값과 실제값이 같은가 틀린가를 의미하고, 뒤 문자 N/P는 예측 결과 값이 부정(0)/긍정(1)을 의미한다.
TP, FN, FP, TN 값은 Classifier 성능의 여러 면모를 판단할 수 있는 기반 정보를 제공한다.
이 값을 조합해 Classifier의 성능을 측정할 수 있는 주요 지표인 정확도(Accuracy), 정밀도 (Precision), 재현율 (Recall) 값을 알 수 있다.
앞에서 소개한 정확도는 예측값과 실제 값이 얼마나 동일한가에 대한 비율만으로 결정된다. 즉, 오차 행렬에서 True에 해당하는 값인 TN과 TP에 좌우된다. 그래서 오차 행렬상에서 정확도는 다음과 같이 재정의될 수 있다.
정확도는 분류 모델의 성능을 측정할 수 있는 한 가지 요소일 뿐이다.
이제 불균형한 데이터 세트에서 정확도보다 더 선호되는 평가 지표인 정밀도와 재현율에 대해 알아보자
3. 정밀도와 재현율
Positive 데이터 세트의 예측 성능에 좀 더 초점을 맞춘 평가 지표
정밀도는 예측을 Positive로 한 대상 중에 예측과 실제 값이 Positive로 일치한 데이터의 비율을 뜻한다. 공식의 분모인 TP + FP는 예측을 Positive로 한 모든 데이터 건수이며, 공식의 분자인 TP는 예측과 실제 값이 Positive로 일치한 데이터 건수이다. Positive 예측 성능을 더욱 정밀하게 측정하기 위한 평가 지표로 양성 예측도라고도 불린다.
재현율은 실제 값이 Positive인 대상 중에 예측과 실제 값이 Positive로 일치한 데이터의 비율을 뜻한다. 공식의 분모인 TP + FN은 실제 값이 Positive인 모든 데이터 건수이며 공식의 분자인 TP는 예측과 실제 값이 Positive로 일치한 데이터 건수이다. 민감도 또는 TPR라고도 불린다.
이진 분류 모델의 업무 특성에 따라 정밀도오 재현율 지표 중에 특정 평가 지표가 더 중요한 지표로 간주될 수 있다.
재현율이 중요 지표인 경우는 실제 Positive 양성 데이터를 Negative로 잘못 판단하게 되면 업무상 큰 영향이 발생하는 경우이다. 예시로 암 판단 모델을 들 수 있다. 실제 Positive인 암 환자를 Positive 양성이 아닌 Negative 음성으로 잘못 판단했을 경우 오류의 대가가 생명을 앗아갈 정도로 심각하기 때문이다. 이외에 보험 사기와 같은 금융 사기 적발 모델도 재현율이 중요하다. 실제 금융거래 사기인 Positive 건을 Negative로 잘못 판단하게 되며녀 회사에 미치는 손해가 클 것이다.
보통 재현율이 정밀도보다 상대적으로 중요한 업무가 많지만, 정밀도가 더 중요한 지표인 경우도 있다. 정밀도가 중요 지표인 경우는 실제 Negative 음성인 데이터 예측을 Positive 양성으로 잘못 판단하게 되면 업무상 큰 영향이 발생하는 경우이다. 예를 들어 스팸메일 여부를 판단하는 모델의 경우 실제 Positive인 스팸메일을 Negative인 일반 메일로 분류하더라도 사용자가 불편함을 느끼는 정도이지만, 실제 Negative인 일반 메일을 Positive인 스팸 메일로 분류할 경우에는 메일을 아예 받지 못하게 돼 업무에 차질이 생긴다.
재현율과 정밀도 모두 TP를 높이는 데 동일하게 초점을 맞추지만, 재현율은 FN를 낮추는데, 정밀도는 FP를 낮추는 데 초점을 맞춘다. 이와 같은 특성으로 재현율과 정밀도는 서로 보완적인 지표로 분류의 성능을 평가하는 데 적용된다. 가장 좋은 성능 평가는 재현율과 정밀도 모두 높은 수치를 얻는 것이다. 반면 둘 중 어느 한 평가 지표만 매우 높고, 다른 수치는 매우 낮은 결과를 나타내는 경우는 바람직하지 않다. 정밀도와 재현율의 수치가 적절하게 조합돼 분류의 종합적인 성능 평가에 사용될 수 있는 평가 지표가 필요하다.
참고)
https://www.mydatamodels.com/learn/how-good-is-your-machine-learning-algorithm/
'Machine learning' 카테고리의 다른 글
사이킷런으로 시작하는 머신러닝 실습 - 붓꽃 품종 예측/타이타닉 생존자 예측 (0) | 2021.07.18 |
---|---|
머신러닝 개념 (0) | 2021.07.11 |
댓글