ROC/PR/랭킹: AUC-PR
ㅁ ROC/PR/랭킹
ㅇ 정의:
ROC/PR/랭킹 지표는 분류 모델의 성능을 평가하기 위해 사용되며, 주로 이진 분류 문제에서 활용된다. 이 지표들은 모델의 예측값과 실제값 간의 관계를 시각화하거나 수치화하여 평가한다.
ㅇ 특징:
– ROC(Receiver Operating Characteristic) 곡선은 TPR(민감도)과 FPR(1-특이도)의 관계를 나타냄.
– PR(Precision-Recall) 곡선은 정밀도와 재현율 간의 관계를 나타냄.
– 랭킹 지표는 모델이 출력한 점수 기반으로 순위를 매겨 평가함.
ㅇ 적합한 경우:
– 클래스 불균형 문제가 있는 경우 PR 곡선 및 AUC-PR 지표가 적합.
– 모델 간 비교 시, 전체적인 성능을 확인할 때 사용.
ㅇ 시험 함정:
– ROC와 PR의 차이를 혼동하여 문제를 풀 수 있음.
– AUC-PR이 낮은 경우에도 모델이 좋은 성능을 보일 수 있는 특정 사례를 간과할 수 있음.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “PR 곡선은 클래스 불균형 데이터에서 모델 성능 평가에 유리하다.”
– X: “ROC 곡선은 항상 PR 곡선보다 더 높은 평가를 제공한다.”
================================
1. AUC-PR
ㅇ 정의:
AUC-PR은 PR(Precision-Recall) 곡선 아래의 면적을 의미하며, 모델이 얼마나 높은 정밀도와 재현율을 동시에 유지할 수 있는지를 나타낸다.
ㅇ 특징:
– 클래스 불균형 데이터에서 모델 성능을 평가하는 데 유리함.
– AUC-PR 값이 1에 가까울수록 이상적인 모델 성능을 나타냄.
ㅇ 적합한 경우:
– 긍정 클래스(Positive Class)가 매우 적은 경우.
– 정밀도와 재현율 간의 균형을 평가하고자 할 때.
ㅇ 시험 함정:
– AUC-ROC와 AUC-PR을 혼동하여 잘못된 선택을 할 수 있음.
– PR 곡선의 형태가 데이터 분포에 따라 크게 달라질 수 있음을 간과할 수 있음.
ㅇ 시험 대비 “패턴 보기” 예시:
– O: “AUC-PR은 클래스 불균형 데이터에서 모델의 성능을 평가하는 데 적합하다.”
– X: “AUC-PR 값이 낮으면 모델이 항상 나쁜 성능을 가진다.”
ㅁ 추가 학습 내용
1. AUC-PR과 AUC-ROC의 비교:
– AUC-PR (Area Under the Precision-Recall Curve)와 AUC-ROC (Area Under the Receiver Operating Characteristic Curve)는 모델의 분류 성능을 평가하는 데 사용되는 지표입니다.
– AUC-PR은 클래스 불균형 상황에서 더 유리합니다. 특히, 긍정 클래스의 비율이 적을 때 유용하며, 모델이 얼마나 잘 긍정 클래스를 식별하는지를 평가하는 데 초점이 맞춰져 있습니다.
– AUC-ROC는 모든 클래스 비율에서 모델의 평균적인 성능을 평가합니다. 이는 True Positive Rate와 False Positive Rate 간의 관계를 보여줍니다.
– 사용 사례:
– AUC-PR은 클래스 불균형이 극심한 상황에서 사용됩니다. 예를 들어, 희귀 질병 진단이나 스팸 필터링과 같이 긍정 클래스의 비율이 매우 낮은 문제에서 적합합니다.
– AUC-ROC는 클래스 비율이 균형적이거나, 모든 클래스에 대한 전반적인 성능을 확인하고자 할 때 적합합니다.
2. PR 곡선의 형태와 AUC-PR 값의 변화:
– PR 곡선은 Precision(정밀도)과 Recall(재현율)의 관계를 나타냅니다.
– 데이터 분포가 긍정 클래스에 치우쳐 있는 경우, PR 곡선은 더 높은 Precision과 Recall 값을 유지할 가능성이 있습니다.
– 긍정 클래스가 매우 적은 경우, PR 곡선이 왜곡될 수 있습니다. 이 경우, Precision 값이 급격히 떨어질 수 있으며, AUC-PR 값도 낮아질 수 있습니다.
– 예를 들어, 긍정 클래스가 전체 데이터의 1%인 경우, 모델이 긍정 클래스를 잘 식별하지 못하면 Precision 값이 낮아지고 PR 곡선이 하강하는 형태를 보일 수 있습니다.
3. AUC-PR 계산 방법:
– AUC-PR은 PR 곡선 아래의 면적을 계산하는 방식으로 정의됩니다.
– 수학적 정의:
– PR 곡선은 Precision과 Recall 값의 조합으로 이루어진 곡선이며, AUC-PR은 곡선 아래의 면적을 적분하여 계산합니다.
– AUC-PR = ∫ Precision(Recall) dRecall
– 실제 계산 사례:
– 모델의 예측 결과를 기반으로 Precision과 Recall 값을 계산합니다.
– 다양한 임계값(threshold)을 설정하여 Precision과 Recall 값을 변화시키고, 이를 기반으로 PR 곡선을 생성합니다.
– PR 곡선 아래의 면적을 계산하여 AUC-PR 값을 구합니다.
– Python 라이브러리인 scikit-learn의 `average_precision_score` 메서드를 사용하여 AUC-PR 값을 계산할 수 있습니다.