ROC 곡선
Receiver Operating Characteristic; Receiver Operating Characteristic Curve
ROC 곡선은 분류 모델의 성능을 평가하는데 사용되는 도구로, 주로 이진 분류 문제에서 모델이 얼마나 잘 분류하는지 시각적으로 보여준다. ROC 곡선은 다양한 임계값에서 모델의 민감도(양성 탐지율)와 거짓 양성 비율 간의 관계를 나타낸다.
ROC 곡선의 구성 요소
- 민감도: 실제 양성인 샘플 중에서 모델이 올바르게 양성으로 예측한 비율이다.
- TPR = TP / TP + FN
- TP(True Positive): 실제로 양성인 경우를 양성으로 예측한 경우
- FN(False Negative): 실제로 양성인 경우를 음성으로 예측한 경우
- False Positive Rate (FPR): 실제로 음성인 샘플 중에서 모델이 잘못 양성으로 예측한 비율
- 거짓 양성 비율 (1 - 특이도): 실제 음성인 샘플 중에서 양성으로 잘못 예측한 비율이다.
- FPR = FP / (FP + TN)
- FP(False Positive): 실제로 음성인 경우를 양성으로 예측한 경우
- TN(True Negative): 실제로 음성인 경우를 음성으로 예측한 경우
ROC 곡선 그리기
ROC 곡선은 모델의 임계값(Threshold)을 조정하면서 True Positive Rate와 False Positive Rate의 변화를 시각화한다. 임계값을 다르게 설정함에 따라 모델의 성능이 달라지기 때문에, 여러 임계값에서 TPR과 FPR을 계산하여 그래프를 그린다.
- x축: False Positive Rate(FPR) 또는 1 - Specificity
- y축: True Positive Rate(TPR) 또는 Sensitivity
임계값이 1에 가까워질수록 모델은 대부분의 샘플을 음성으로 예측하고, 임계값이 0에 가까워질수록 대부분의 샘플을 양성으로 예측하게 됩니다. ROC 곡선은 임계값이 변화할 때 모델의 성능이 어떻게 변화하는지 보여줍니다.
AUC (Area Under the Curve)
ROC 곡선 아래의 면적인 AUC(Area Under the Curve)는 모델의 분류 성능을 수치화한 값으로, 0과 1 사이의 값을 가진다. AUC 값은 다음과 같이 해석할 수 있�다:
- AUC = 1: 완벽한 분류 모델
- AUC = 0.5: 무작위 추측과 동일한 성능
- AUC < 0.5: 성능이 무작위 추측보다 나쁨
일반적으로, AUC 값이 0.7 이상이면 모델이 좋은 성능을 가진다고 평가한다.
ROC 곡선이 유용한 이유
ROC 곡선은 모델의 성능을 임계값의 변화에 따라 시각적으로 보여주기 때문에, 분류 임계값을 설정하는 데 중요한 정보를 제공한다. 특히, 클래스가 불균형한 데이터셋에서도 성능을 평가할 수 있는 장점이 있다. Precision-Recall 곡선과 함께 사용하면 모델의 성능을 더욱 정확하게 분석할 수 있다.