inblog logo
|
datarichard
  • 데블챌 신청하기
데이터 과학

◼️8. AUC(Area Under Curve)를 이해하기 쉽게 배워봅시다.

데이터 모델의 성능을 판단하기 위한 지표, AUC에 대해 알아봅시다.
임동찬's avatar
임동찬
Jan 30, 2024
◼️8. AUC(Area Under Curve)를 이해하기 쉽게 배워봅시다.
Contents
❗먼저 읽어주세요❓데이터 분석가의 업무: 더 정확한 예측하기❓정확도(Accuracy): 얼마나 믿을수 있을까?❓정확도(Accuracy): 때로는 불완전합니다.❓AUC: 균형의 수호자

❗먼저 읽어주세요

아래의 글은 분류 모델(Classification Model)에서 사용하는 Confusion Matrix(혼동 행렬)을 사용하기 때문에, Confusion Matrix(혼동 행렬)에 대해 먼저 알고 가는 것을 추천해요.

Confusion Matrix(혼동 행렬)이란?
데이터 모델이 얼마나 실제를 잘 예측하는 지를 판단하기 위해 사용하는 테이블입니다. 총 4가지 구성요소들을 사용하여 데이터 모델의 성능을 평가합니다.

Confusion Matrix(혼동 행렬) 에서 사용하는 4가지 구성요소들을 간단하게 소개할게요.

예측/실제

참

거짓

참

TP

FP

거짓

FN

TN

  • TP (True Positive) :
    모델이 참(Positive)으로 예측했고, 실제로 참(Positive)인 경우를 의미합니다.

  • FP(False Positive) :
    모델이 참(Positive)으로 예측했지만, 실제로 거짓(Negative)인 경우를 의미합니다.

  • TN(True Negative) :
    모델이 거짓(Negative)으로 예측했고, 실제로 거짓(Negative)인 경우를 의미합니다.

  • FN(False Negative) :
    모델이 거짓(Negative)으로 예측했지만, 실제로는 참(Positive)인 경우를 의미합니다.


❓데이터 분석가의 업무: 더 정확한 예측하기

데이터 분석가가 하는 업무 중 하나는 데이터 모델을 만들고 예측 능력을 꾸준히 높여가는 일입니다. 데이터 모델은 기업의 비즈니스 의사결정에 큰 영향을 미치기 때문에, 기업이 비즈니스를 잘 운영하기 위한 정확하고 적용 가능한 모델을 만드는 것이 중요하죠.


❓정확도(Accuracy): 얼마나 믿을수 있을까?

"내가 만든 데이터 모델은 얼마나 정확할까?"

데이터 분석가는 데이터 모델을 만든 뒤, 자신의 모델이 얼마나 정확하게 현실을 반영하는지를 알고 싶어합니다. 이 때, 모델의 정확도를 판단할 때 가장 많이 사용하는 지표는 정확도(Accuracy)입니다.

만약 암 검진을 통해 내가 암에 걸렸는지 아닌지를 예측하는 데이터 모델을 만든다고 생각해볼까요? 모델과 현실의 일치 여부를 총 4가지 경우로 판단할수 있겠네요.

  • 데이터 모델이 암환자(Positive)로 예측했고, 실제로 암환자(Positive)인 경우 (TP)

  • 데이터 모델이 암환자(Positive)로 예측했지만, 실제로 정상인(Negative)인 경우 (FP)

  • 데이터 모델이 정상인(Negative)로 예측했고, 실제로 정상인(Negative)인 경우 (TN)

  • 데이터 모델이 정상인(Negative)로 예측했지만, 실제로 암 환자(Negative)인 경우 (FN)

예측/실제

암 환자

정상인

암 환자

20

5

정상인

5

70

정확도는 (20 + 70) / (20 + 5 + 5 + 70) = 90/100 = 90% 입니다.

정확도(Accuracy) : (TP + TN) / (TP + TN + FP + FN)

정확도(Accuracy)는 참 명쾌하고 이해하기 쉽습니다.
참(True)을 참(True)이라고 예측한 경우와,
거짓(False)을 거짓(False)이라고 예측한 경우를 더해 전체로 나누면 되니까요.

정확도(Accuracy)는 데이터 모델이
전체적으로 진짜와 가짜를 합쳐서 잘 분류하는지를 알려주는 친구입니다.


❓정확도(Accuracy): 때로는 불완전합니다.

하지만 정확도(Accuracy)는 실제로 참인 경우가 거짓인 경우보다 극적으로 많을 경우,
또는 거짓일 경우가 참일 경우보다 극적으로 많을 경우, 별로 쓸모가 없어집니다.

암 검진을 했을 때 결과값이 이렇게 나왔다고 가정해볼게요.

예측/실제

암 환자

정상인

암 환자

5

1

정상인

1

93

혼동 행렬의 정확도는 (5 + 93) / (5 + 1 + 1 + 93) = 98/100 = 98% 입니다.

하지만 데이터 모델이 모든 사람들을 다 정상인으로 판단할 경우에도,
모델의 정확도는 93%로 높은 정확도를 보입니다.

이처럼 굳이 힘들여서 정확하게 판단하는 모델을 만들지 않아도
정상인이 암환자보다 극적으로 많을 경우, 즉 한쪽으로만 판단하는 모델을 만들었을 때도 정확도(Accuracy)는 자동으로 높은 값을 가집니다. 이를 데이터의 불균형 상태(Imbalanced data)라고 부릅니다.

데이터의 불균형은 현실에서 자주 발생합니다. 모든 경우가 50 대 50 처럼 균형잡힌 경우보다 90 대 10 처럼 한쪽이 큰 경우들이 훨씬 더 많으니까요.


❓AUC: 균형의 수호자

AUC (Area Under the Curve) 점수는 분류 모델(Classification Model)의 성능을 평가할 때 사용하는 또다른 지표입니다. 데이터의 불균형 상태를 방지하고자 만든 지표인 것이죠.

AUC (Area Under the Curve) 점수는 ROC (Receiver Operating Characteristic)이라는 곡선을 만든후 그 아래의 영역이 얼마나 큰지로 계산할 수 있습니다. ROC 곡선은 TPR(True Positive Rate)를 x축에, FPR(False Positive Rate) 를 y축에 놓고 그린 곡선입니다.

TPR =TP / (TP + FN)

  • TPR(True Positive Rate) 이란?
    TPR은 진짜 양성 비율을 의미하며, 모델이 양성(Positive)이라고 예측한 경우 중 실제로 양성(Positive)인 비율을 의미합니다.

FPR = FP / (FP + TN)

  • FPR(False Positive Rate)이란?
    FPR은 거짓 양성 비율을 의미하며, 모델이 양성(Positive)이라고 예측한 경우 중 실제로 음성(Negative)인 비율을 의미합니다..

이 때 모델의 TPR과 FPR이 얼마인지에 따라 이 곡선에서 모델의 성능이 달라집니다. 이 성능을 조정하는 기준치를 임계치(Threshold)라고 부릅니다. 임계치(Threshold)이란 예측 모델이 참과 거짓을 구분하는 기준점입니다.

  • 임계치를 조절하면서 TPR과 FPR의 변화를 표시한 그래프가 ROC 곡선입니다.

  • AUC의 값은 0과 1 사이이며, 값이 높을수록 모델의 성능이 좋다고 할 수 있습니다.

  • TPR이 높을수록, 그리고 FPR이 낮을수록 더 좋은 모델이 됩니다.

  • AUC 스코어가 0.5면 모델의 성능이 무작위 추측과 같다는 것을 의미하며, 1에 가까울수록 모델이 양성과 음성을 잘 구분한다는 것을 나타냅니다.


이렇게 AUC 스코어는 모델이 참과 거짓을 얼마나 둘 다 잘 구분하는지를 나타내는 중요한 지표입니다. 높은 AUC 스코어는 모델이 TPR와 FPR 사이에서 좋은 균형을 이루고 있음을 의미합니다.


더 많은 데이터 과학이 궁금하신가요?
아래의 버튼을 클릭하면 더 많은 데이터 & AI를 학습할수 있습니다.

Share article

datarichard

RSS·Powered by Inblog