머신러닝에서 이진 분류 모델의 성능을 평가하는 것은 매우 중요한 작업입니다. 특히, 불균형한 데이터셋을 다룰 때에는 단순한 정확도(Accuracy) 외에도 모델이 어떻게 성능을 발휘하는지 더 깊이 이해할 수 있는 평가 지표가 필요합니다. 이때 가장 많이 사용되는 지표가 AUC-ROC와 PR-ROC입니다. 두 지표는 각각의 상황에서 유용하게 사용될 수 있으며, 데이터 특성에 따라 적합한 지표를 선택하는 것이 중요합니다. 이 글에서는 AUC-ROC와 PR-ROC의 정의, 차이점, 그리고 언제 사용하는 것이 적합한지에 대해 설명하겠습니다.
AUC-ROC란?
ROC (Receiver Operating Characteristic) 곡선은 분류 모델의 참양성률(True Positive Rate, TPR)과 거짓양성률(False Positive Rate, FPR) 간의 관계를 나타낸 그래프입니다. AUC (Area Under the Curve)는 이 ROC 곡선 아래의 면적을 의미하며, 모델이 다양한 임계값(threshold)에서 얼마나 잘 분류하는지 평가합니다.
TPR (True Positive Rate), 또는 재현율(Recall): 실제로 양성인 데이터를 모델이 얼마나 정확하게 양성으로 예측했는지를 나타냅니다.
FPR (False Positive Rate): 실제로 음성인 데이터를 모델이 얼마나 잘못 양성으로 예측했는지를 나타냅니다.FPR=FPFP+TNFPR = \frac{FP}{FP + TN}(FP: False Positive, TN: True Negative)
AUC-ROC 곡선의 특징:
- ROC 곡선은 x축에 FPR, y축에 TPR을 두어, 모델의 성능을 임계값에 따라 시각적으로 표현합니다.
- AUC (Area Under the Curve) 값이 1에 가까울수록 모델의 성능이 우수함을 나타내며, 0.5에 가까우면 랜덤 추측과 동일한 성능을 가진 모델로 간주됩니다.
- AUC = 1: 완벽한 모델.
- AUC = 0.5: 무작위로 분류하는 모델.
- AUC < 0.5: 분류 성능이 낮은 모델.
AUC-ROC의 장점:
- 전체적인 성능 평가: AUC-ROC는 모델의 모든 임계값에서의 성능을 평가하므로, 전반적인 성능을 확인하는 데 유용합니다.
- 균형 잡힌 데이터셋에서 성능 평가가 적합하며, 양성과 음성 클래스의 비율이 비슷할 때 강력한 성능 지표로 사용됩니다.
AUC-ROC의 한계:
- 클래스 불균형 문제에서는 AUC-ROC가 실제 성능을 과대평가할 수 있습니다. 특히, 음성 클래스가 매우 많은 경우, 모델이 양성 데이터를 제대로 예측하지 못해도 AUC 값이 높게 나올 수 있습니다.
- AUC-ROC에서는 False Positive Rate가 상대적으로 중요시되지만, True Negative가 큰 비중을 차지하는 불균형 데이터에서는 이 값이 모델의 성능을 제대로 평가하지 못할 수 있습니다.
PR-ROC란?
PR-ROC (Precision-Recall Curve)는 분류 모델의 정밀도(Precision)와 재현율(Recall) 간의 관계를 나타낸 그래프입니다. PR-ROC는 특히 클래스가 불균형한 데이터셋에서 모델의 성능을 평가할 때 AUC-ROC보다 유리한 평가 지표로 자주 사용됩니다.
Precision (정밀도): 모델이 양성으로 예측한 값 중에서 실제로 양성인 값의 비율을 나타냅니다.
Recall (재현율): 실제 양성인 데이터 중에서 모델이 정확히 예측한 비율을 나타냅니다.Recall=TPTP+FNRecall = \frac{TP}{TP + FN}(TP: True Positive, FN: False Negative)
PR-ROC 곡선의 특징:
- PR 곡선은 x축에 Recall, y축에 Precision을 두어, 모델이 양성 클래스를 얼마나 잘 예측했는지를 나타냅니다.
- PR 곡선 아래 면적이 클수록 모델의 성능이 좋으며, 이 면적을 AUC-PR이라고도 부릅니다. F1 Score는 Precision과 Recall의 조화 평균을 통해 모델 성능을 측정할 수 있습니다.
PR-ROC의 장점:
- 클래스 불균형 데이터에서 유리: 양성 클래스의 비율이 매우 낮을 때도 성능을 정확히 평가할 수 있습니다.
- True Negative를 무시: PR 곡선은 음성 클래스를 고려하지 않으며, 양성 클래스에 대한 예측 성능에 집중하므로, 이상 탐지나 사기 탐지 등에서 적합합니다.
PR-ROC의 한계:
- 정밀도(Precision)는 양성 예측이 많아지면 감소할 수 있으므로, 클래스가 균형적일 때는 AUC-ROC보다 덜 직관적일 수 있습니다.
True Negative 정의가 어려운 상황에서 PR-ROC의 필요성
True Negative (TN)를 정의하기 어려운 상황에서 PR-ROC가 유용할 수 있습니다. 특히, 이상 탐지나 클래스 불균형이 극심한 문제에서는 TN의 역할이 제한적입니다.
- 이상 탐지(Anomaly Detection): 정상 데이터가 대부분을 차지하는 상황에서는 정상 데이터를 올바르게 예측하는 것(TN)이 중요하지 않을 수 있습니다. 대신 비정상 데이터를 얼마나 잘 탐지하는지(TP, FP)에 더 초점을 맞추는 것이 중요합니다.
- 클래스 불균형 문제: 사기 탐지, 희귀 질병 예측 등의 문제에서는 양성 클래스가 적기 때문에, PR-ROC가 더 유용합니다. AUC-ROC는 많은 TN 때문에 모델의 성능을 과대평가할 수 있습니다.
- 다중 클래스 분류(Multi-class Classification): 다중 클래스 문제에서는 각 클래스별로 TN을 정의하는 것이 복잡해질 수 있습니다. 예를 들어, 고양이, 개, 토끼 세 가지 클래스를 분류하는 문제에서는 '고양이'에 대한 True Negative가 '개'와 '토끼'로 정의되며, 클래스가 늘어날수록 TN을 정의하는 데 복잡성이 커집니다. 이 경우 PR-ROC는 이러한 복잡성을 피하고 성능 평가를 더 간단하게 할 수 있습니다.
AUC-ROC와 PR-ROC 비교
특징 | AUC-ROC | PR-ROC |
측정 지표 | TPR(재현율) vs FPR(거짓양성률) | Precision(정밀도) vs Recall(재현율) |
적용 시점 | 양성/음성 클래스가 균형일 때 적합 | 양성 클래스가 적고 불균형일 때 적합 |
성능 평가 기준 | 전체 임계값에서의 분류 성능 평가 | 양성 클래스에 대한 성능 집중 평가 |
사용하는 그래프의 축 | x축: FPR, y축: TPR | x축: Recall, y축: Precision |
한계 | 클래스 불균형이 심한 경우 성능 왜곡 가능 | 클래스 균형일 때 AUC-ROC보다 직관적이지 않음 |
데이터 불균형 문제에서 PR-ROC의 우위
데이터가 불균형할 때 PR-ROC가 AUC-ROC보다 더 적합할 수 있습니다. AUC-ROC는 TPR과 FPR 간의 관계를 다루는데, 클래스 불균형이 심한 경우, FPR의 값이 작게 나오기 때문에 AUC 값이 높게 나타나는 경우가 많습니다. 즉, 양성 클래스가 극히 적고 음성 클래스가 많을 때, 모델이 음성 클래스에 대해 높은 성능을 보이지만, 양성 클래스 예측이 부실할 경우에도 AUC-ROC에서 높은 성능으로 평가될 수 있습니다.
PR-ROC는 Precision과 Recall을 기반으로 모델이 양성 클래스를 얼마나 잘 예측했는지를 평가합니다. 이러한 점에서, PR-ROC는 불균형한 데이터 문제에서 더 나은 성능 평가 지표가 됩니다.
결론
- AUC-ROC는 모델의 전반적인 성능을 평가하는 데 적합하며, 클래스가 균형일 때 유용합니다. 그러나 클래스 불균형이 심한 경우에는 성능을 과대평가할 수 있습니다.
- PR-ROC는 클래스 불균형 문제에서 특히 유리하며, 양성 클래스에 대한 성능을 평가하는 데 중점을 둡니다. 특히, True Negative를 정의하기 어렵거나 중요하지 않은 경우, PR-ROC는 더 나은 성능 평가 지표가 될 수 있습니다.
따라서, 데이터 특성에 따라 AUC-ROC 또는 PR-ROC를 선택하는 것이 중요합니다. 불균형 데이터에서는 PR-ROC가 더 적합하고, 균형 잡힌 데이터에서는 AUC-ROC가 일반적으로 더 유용합니다.