ROC 곡선

snooby·2022년 11월 24일
2

🦾 ML

목록 보기
9/16
post-thumbnail
post-custom-banner

ROC curve는 다양한 threshold에 대한 이진분류기의 성능을 한번에 표시한 것이다.
이진 분류의 성능은 True Positive Rate와 False Positive Rate 두가지를 이용해서 표현하게 된다.
ROC Curve를 한마디로 하자면 ROC 커브는 좌상단에 붙어있을 수록 좋은 분류기라는 의미이다.

ROC curve를 잘 이해하기 위해선 ROC curve plot에서 보이는 세가지 특성을 알아야합니다.

  1. True Positive Rate과 False Positive Rate
  2. ROC Curve위의 한 점이 의미하는 것은 무엇인가?
  3. ROC Curve의 휜 정도가 의미하는 것은 무엇인가?

True Positive? False Positive?

False Positive Rate(FPR)와 True Positive Rate(TPR)은 ROC curve에서 각각 x, y축에 표시되는 값을 의미한다.

여기서 우리는 FPR과 TPR 모두 Positive라는 공통적인 단어가 있음을 발견할 수 있다.
“Positive”의 의미는 판단자가 “그렇다”라고 판별했다는 의미이다.

가령 병원에 환자가 암 검사를 받기 위해 내원했고, 의사(즉, 여기서 판단자)가 “환자가 암에 걸렸다”라고 판단한 것이다.

그렇다면 True와 False는 무슨 의미일까?

True와 False는 각각 ‘판단을 올바르게 했다’는 것과 ‘판단을 틀리게 했다’는 것을 표현한다.

즉, 다시 말해 True Positive는 실제로 이 사람은 암에 걸려있고, 판단을 암에 걸렸다고 판단한 것이며, False Positive는 실제로는 암에 걸리지 않았는데도 암에 걸렸다고 ‘잘못’ 판단한 것을 의미한다.

TPR과 FPR의 관계

이제 의사(즉, 이진 분류기의 역할)의 성격과 실력에 대해 집중해보자.
의사 A는 겁이 없고 성격이 급해서 모든 환자들을 다 암환자라고 판단한다고 하자.
그러면 어떻게 될까? 실제로 암이 걸린 환자들도 모두 암 환자로 판정되면서 (즉, True Positive Rate은 높아지고)
동시에 암이 걸리지 않았던 내원 환자들도 모두 암 환자로 판정된다. (즉, False Positive Rate도 동시에 높아지게 된다)
모든 내원자들을 다 환자로 판정한다는 것은 threshold가 낮다는 뜻이다.

한편, 의사 B는 겁이 많아서 모든 환자들이 암환자가 아니라고 판단한다고 하자. 다시 말해 의사 B는 암이 걸리지 않은 내원자들 뿐만 아니라
실제로는 암에 걸린 내원자들도 모두 정상인으로 판정하면서 True Positive Rate과 False Positive Rate 모두 낮아지게 된다.
그 내용을 그림으로 표현하자면 아래와 같다. 모든 내원자들을 다 정상인으로 판정한다는 것은 threshold가 높다는 뜻이다.

현 위의 점의 의미

위의 논의를 따라오다보면 threshold가 변함에 따라서 False Positive Rate(FPR)과 True Positive Rate(TPR)의 값이 바뀐다는 것을 알 수 있다.
또 한가지 추가로 알 수 있는 것은 threshold가 높아지건 낮아지건 FPR과 TPR은 어느정도는 비례적으로 함께 커지거나 작아진다는 것 또한 알 수 있다.

현 위의 점이 의미하는 것은 모든 가능한 threshold별 FPR과 TPR을 알아보겠다는 의미를 담고 있다.

현의 휨 정도가 의미

두 클래스를 더 잘 구별할 수 있다면 ROC 커브는 좌상단에 더 가까워지게 된다.
즉, 좌측상단으로 휠 수록 모델의 구별 성능이 뛰어나다는 것이다.

마무리

정리하면, ROC 커브는 이진 분류기의 성능을 표현하는 커브이고, 가능한 모든 threshold에 대해 FPR과 TPR의 비율을 표현한 것이다.

최종적으로는 ROC 커브가 좌상단에 붙어있는 것이 더 좋은 이진분류기를 뜻한다.

profile
DevOps 🐥
post-custom-banner

0개의 댓글