ROC AUC란?
ROC AUC 요약
ROC(Receiver Operating Characteristic) 곡선은 수신기 조작 특성으로 번역되며, 머신러닝 분류 모델의 성능을 시각화하고 평가하는데 사용되는 유용한 도구입니다. ROC 곡선 아래의 면적을 AUC(Area Under Curve)라고 합니다. AUC는 1인 경우 완벽한 분류기, 0.5인 경우 무작위로 분류함을 의미합니다.
본 포스트의 내용은 전문서적, 온라인 자료 등을 기반으로 작성된 것으로 일부 오류가 있을 수 있으며, 더 정확한 이해를 위해 더 많은 정보를 참고하시기 바랍니다. 또한, 일부 내용은 쿠팡 파트너스 활동의 일환으로, 제품의 구매시 이에 따른 일정액의 수수료를 제공받습니다.
A-Dic
- 머신러닝 분류모델: 머신러닝 분류 모델은 데이터의 특성을 분석하여 미리 정의된 범주 중 하나로 새로운 데이터를 자동으로 분류하는 모델입니다. 예를 들어, 이메일을 스팸과 정상 메일로 구분하거나 의료 데이터를 바탕으로 환자의 질병 유무를 판단하는 등의 작업을 수행합니다.
- 민감도: 실제 양성 샘플 중에서 모델이 양성으로 올바르게 예측한 비율을 의미합니다.
- 특이도: 실제 음성 샘플 중에서 모델이 음성으로 올바르게 예측한 비율을 뜻합니다.
- 상충관계: 한쪽을 높이면 다른 한쪽이 낮아지는 서로 반비례하는 관계를 말합니다.
A-Book
수신기 조작 특성(ROC) 곡선은 정밀도에 대한 재현 곡선이 아니라 거짓 양성 비율(FPR)에 대한 진짜 양성 비율(TPR, 재현율)의 곡선입니다. FPR(또는 폴-아웃 fall-out)은 양성으로 잘못 분류된 음성 샘플의 비율입니다. 이는 1에서 음성으로 정확하게 분류한 음성 샘플의 비율인 진짜 음성 비율( TNR, 특이도)을 뺀 값입니다. 그러므로 ROC 곡선은 민감도(재현율)에 대한 1-특이도 그래프입니다.
곡선 아래의 면적(AUC)을 측정해 분류기들을 비교할 수 있습니다. 완벽한 분류기는 ROC의 AUC가 1이고, 완전한 랜덤 분류기는 0.5입니다.
오렐리앙 제롱, 핸즈온 머신러닝, 3.3.5 ROC 곡선 중에서
머신러닝 분류 모델을 평가할 때, 정확도만으로는 부족할 수 있습니다. 특히 불균형한 클래스 분포를 가진 데이터셋의 경우, 정확도가 높더라도 실제로 모델의 성능이 좋지 않을 수 있습니다. 이를 해결하기 위해 ROC 곡선이 사용됩니다.
ROC 곡선은 True Positive Rate(TPR, 민감도)와 False Positive Rate(FPR, 1-특이도) 간의 관계를 보여줍니다. TPR은 실제 양성 샘플 중에서 양성으로 올바르게 예측한 비율이고, FPR은 실제 음성 샘플 중에서 잘못 양성으로 예측한 비율입니다.
이 곡선의 장점은 분류 임계값에 따른 모델의 성능을 한눈에 파악할 수 있다는 것입니다. 예를 들어, 암 진단 모델에서 TPR을 높이면 환자를 놓치지 않겠지만, FPR도 높아져 불필요한 검사를 받게 될 수 있습니다. 반대로 FPR을 낮추면 불필요한 검사는 줄어들지만, TPR도 낮아져 환자를 놓칠 수 있습니다. 따라서 적절한 임계값을 선택하는 것이 중요합니다.
ROC 곡선의 아래 면적(AUC, Area Under the Curve)은 모델의 전반적인 성능을 나타냅니다. AUC가 1에 가까울수록 모델이 좋다는 것을 의미합니다. AUC가 0.5보다 작으면 무작위로 예측한 것보다 성능이 나쁘다는 뜻입니다.
ROC AUC 이해 예시
ROC 커브는 이진 분류 모델의 성능을 평가하는 데 사용되는 그래프입니다. AUC는 ROC 커브 아래 면적을 나타내는 지표입니다. AUC는 0에서 1 사이의 값을 가지며, 1에 가까울수록 모델의 성능이 우수하다는 것을 의미합니다.
- X축은 위양성률(FPR)을 나타냅니다. FPR은 실제로 음성인 경우를 양성으로 잘못 판단하는 비율입니다.
- Y축은 진양성률(TPR)을 나타냅니다. TPR은 실제로 양성인 경우를 양성으로 맞게 판단하는 비율입니다.
위 그림은 SoftPanel, MeSHTree, MimMiner라는 세 가지 모델의 ROC 커브를 나타냅니다. SoftPanel 모델의 ROC 커브가 가장 높고 AUC가 가장 높다는 것을 알 수 있습니다. 따라서 SoftPanel 모델이 세 가지 모델 중에서 가장 우수한 성능을 보인다는 것을 의미합니다.
참고로, 아래에 AUC가 1인 경우와 0.5인 경우의 그래프를 그려 보았습니다.파이썬을 통해 그려보았는데 이 부분은 별도의 포스트를 메인 블로그에 올려보도록 하겠습니다.
AUC가 1인 경우
완벽한 분류 성능을 보이는 모델
AUC가 0.5인 경우
무작위 추측과 동일한 수준의 모델
정리하기
ROC 곡선과 AUC는 머신러닝 분류 모델의 성능을 평가하는 데 유용한 도구입니다. 특히, 불균형한 클래스 분포를 가진 데이터셋에서 정확도만으로는 모델의 성능을 제대로 파악하기 어려운 경우, ROC 곡선과 AUC를 활용하면 모델의 전반적인 성능을 더 잘 이해할 수 있습니다.
‘secondlife.lol’의 모든 콘텐츠는 저작권법의 보호를 받습니다. 무단 전재와 복사, 배포 등을 금합니다.