Orange를 활용한 코딩 없는 AI 데이터 분석 - Lv.4 분류 머신러닝 분석 강좌의 맛보기 강의입니다.
이번 영상에서는 이진 분류 모델의 평가 지표인 ROC 커브 그리고 AUC에 대해서 함께 알아보도록 하겠습니다. 분류 모델의 성능을 표현해 주는 값은 굉장히 다양하게 있는데요 예를 들면 정확도라던가 정밀도, 민감도 이런 굉장히 많은 값들이 있죠 이런 것들은 명확하게 값으로 보여주긴 하지만 아무래도 우리가 뭔가를 직관적으로 이해함에 있어서는 조금은 값이기 때문에 불리한 면이 있습니다 ROC 곡선이라고 하는 것은 지금 오른쪽에 보고 계시는 이 주황색으로 되어 있는 곡선 이것이 바로 ROC 곡선인데요 이 곡선은 분류 모델이 과연 분류를 얼마나 잘 하는가 라고 하는 것을 시각적으로 성능을 보여주는 그래프라고 할 수 있습니다 이 ROC 곡선에서 가로축과 세로축을 차지하고 있는 게 뭔가? 라고 하는 걸 보시면 가로축을 차지하고 있는 것은 위양성률이라고 하는 겁니다. 위양성률, FPR이라고 해요. 일단 FPR이다 라고 하는 것을 눈으로 봐주세요. FP의 비율, FP의 비율입니다. FP의 비율, 즉 내가 긍정이라고 예측했는데 예측이 틀렸다 양성이라고 예측했는데 그게 틀렸다 의 비율 이게 바로 위양성률 FPR입니다. 세로축을 담당하는 것은 TPR입니다. TPR의 비율입니다. 내가 긍정이라고 예상했는데 그 예측이 맞았다 그 정도를 보여주는 게 바로 TPR인 거죠. 내가 긍정으로 예측한 것이 얼마나 맞았는가라고 하는 TPR이라고 하는 것은 이름이 TPR이라고 되어 있잖아요. 직관적으로 보기 위해서 우리가 FPR, TPR 이렇게 쓰게 되는데 FPR 같은 경우는 우리가 앞서서 이야기한 정확도, 정밀도, 민감도 여기에 속하지 않습니다 그래서 위양성률이라고 통상적으로 우리가 이야기를 하고요 TPR이라고 하는 것은 우리가 앞서서 이야기했던 민감도 이름이 하나 더 있었죠? 또는 재현율이라고 하는 것과 같은 값입니다 그래서 이 값이 이름이 3개인거죠. 민감도, 재현율, TPR 라고 하는 이 3가지의 이름이 존재하고 이게 모두 같은 것을 의미한다 라고 하는 것을 헷갈리지 않고 명확하게 알고 계실 필요가 있습니다. 사실상 수식이 같은데 이름이 세 가지다 보니까 무슨 차이가 있지? 이렇게 혼란스러워 할 수 있거든요. 같은 겁니다. 같아요. 그래서 이렇게 직관적으로 FPR과 TPR이라고 하는 그런 표현을 쓰고 있다라고 보시면 될 것 같아요. 그래서 ROC 곡선이라고 하는 것은 임계값의 변화에 따라서 FPR과 TPR이 어떻게 변하는가. 라고 하는 것을 보여주는 곡선이라고 할 수 있습니다 일단 이 말을 조금 더 자세하게 이해하기 위해서 FPR과 TPR이 어떻게 계산되는가 라고 하는 것을 한번 보겠습니다 가로축은 위양성률 FPR이고요 세로축은 민감도 TPR이라고 합니다 그래서 이것은 임계값에 따라서 동반 변화하는 관계에 있다 그걸 보여주는 곡선이 ROC 곡선이다 라고 할 수 있는데요 FPR이 계산되고 있는 걸 보시면 FPR이라는 것은 실제로 부정인 것들 중에서 내가 긍정으로 예측했는데 잘못 예측한 것의 비율입니다. 실제로는 부정이니까 내가 그거 부정이야, 이거 음성이야 라고 예측했는데 그게 맞았다. 이게 양성이라고 예측했는데 틀렸다는 말은 실제로는 음성이라는 얘기인 거잖아요. 그러니까 이 분모를 차지하고 있는 것이 모든 부정, 모든 음성인 거고요. 그 중에 내가 잘못 예측한 것. 또 TPR이라고 하는 것은 모든 긍정 중에서 내가 맞춘 것인 거거든요. 그러니까 이거는 음성일 줄 알았어요 라고 했는데 틀렸다는 건 실제로는 긍정이었다는 얘기잖아요 그래서 이것도 마찬가지로 실제로 긍정인 것들 중에서 내가 맞춘 것이라고 할 수 있습니다 그런데 이게 혼동 행렬에 4가지 요소가 있는 거잖아요. TP, TN, FP, FN 이렇게 있는데 수식으로 보면 굉장히 명쾌하게 잘 값으로 요약할 수가 있지만 아무래도 자꾸 수식으로 보면 굉장히 헷갈려요. 그래서 우리가 구체적인 수치를 예시로 들어볼게요. ROC 곡선을 좀 더 잘 이해하기 위해서 예시를 하나 들어보자면 조금 헷갈리지 않게 직관적으로 얘기해 보겠습니다 전체 데이터가 있는데 이 데이터가 총 100개다 라고 가정해 보겠습니다 총 100개의 데이터가 있어요 근데 우리는 편의상 생각하기 쉽게 절반은 실제로 긍정이고 절반은 실제로 음성이다 실제로 양성 실제로 음성 반반씩이다 라고 생각해 볼게요 그러면 실제로 긍정 P인 거죠 하지만 우리는 P라는 표현을 쓰지 않겠습니다 왜냐하면 우리에게 P나 N이라고 하는 것은 그렇게 예측했다 를 나타내는 거니까 헷갈리지 않도록 우린 그런 말 하지 않겠습니다 그냥 실제 양성이라고 하도록 하죠 실 양성 그리고 실제 음성 이라고 이렇게 적어 볼게요 그래서 우리는 편의상 이거 50개 이거 50개 반반씩 있어 라고 하는 상황을 생각해 볼게요 총 100개가 있고 실제로는 절반이 양성이었고 절반이 음성이었다 라는 겁니다 이렇게 돼요 이 상태에서 우리가 많이 다루는 TN TP 이렇게 있잖아요 걔네들도 편의상 이렇게 나누도록 하죠 이렇게 딱 반으로 나누도록 할게요 이것도 반으로 나누겠습니다 그럼 반으로 나눠서 모두 25개 25개 25개 상황을 생각해 볼게요 실제로 양성인데 내가 그 중에 반은 내가 그 중에 반은 양성이라고 예측을 했었고 그 중에 반은 음성이라고 예측했었다고 하겠습니다. 그런데 실제로는 양성인 거잖아요. 그러니까 실제로 양성이고 실제로 양성이니까 양성이라고 예측한 것은 이건 맞았겠죠. 그러니까 TP가 됩니다. 음성이에요라고 예측을 했는데 실제로는 여기가 지금 양성 구간이잖아요. 그러니까 틀렸겠죠. 그러니까 여기는 FN이 됩니다. 또 마찬가지로 실제로는 음성인데 어쨌든 저는 그 중에 반을 긍정일 거라고 예상했고 그 중에 반을 음성일 거라고 예상했다고 해볼게요 그러면 여기는 실제로는 음성이니까 긍정이라고 예측했으면 그건 틀린 거죠 FP가 됩니다. 그리고 실제로 음성이니까 내가 음성이라고 예측한 것은 맞은 게 되는 거죠. 그래서 이렇게 배치가 됩니다. 우리가 교차표로 보통 보는데 교차표로 보지 않고 이렇게도 볼 수 있는 거죠. 어떻게 표현을 하든 실제 개념에서는 차이가 없으니까요. 우리는 이것도 생각하기 쉽도록 25개, 25개, 25개씩 있다라고 가정해볼게요. 이런 게 그냥 편의상 25개씩 있다고 생각을 해봐요. 이런 상태다. 만약에 이런 상태라고 해보겠습니다. 그럼 이 상태에서 FPR이라고 하는 게 의미하는 건 뭐죠? 일단 하나씩 보자면 FPR 위양성률은 TN과 FP를 더한 것을 분모로 쓴다고 합니다. TN과 FP를 더한 것이죠. 즉 이 절반, 실제로 음성인 녀석들 중에서 FP, 내가 긍정일 거라고 예상했는데 틀린 그 녀석, 이 녀석이 얼마냐라고 하는 비율이 바로 위양성률이 됩니다. 그래서 편의상 보면 이 상태에서의 위양성률이라는 건 결국 어떻게 계산이 되는 거예요? 전체가 실제 음성이 50개니까 50개 중에 FP다 라고 할 수 있죠. 25라는 값을 쓰지 않겠습니다. 전체 50개 중에서 FP가 얼마나 되느냐 라고 하는 것을 따지는 게 바로 FPR인 거죠. 마찬가지로 TPR이라는 건 뭐예요? TPR은 TP와 FN을 더한다 라고 하니까 실제로 긍정인 것들 TP와 FN을 더한 것 중에서 TP가 얼마나 있는가 라고 하는 거죠. 50개 중에서 TP가 얼마나 있느냐라고 하는 것을 뜻하는 게 이 TPR이라고 하는 값입니다. 그런데 이 값이 어떤 특징이 있느냐, 이게 왜 ROC 곡선하고 연결이 되냐면 우리가 예를 들어 로지스틱 회귀를 한다고 가정해 볼게요. 그러면 로지스틱 회귀라고 하는 것은 이런 개념이죠. 아직 이 곡선을 먼저 생각하지 마십시오. 로지스틱 회귀를 한다고 하면 로지스틱 회귀라는 게 이런 거잖아요. 여기에 대략적으로 S자 곡선을 이렇게 그리게 되죠. 그래서 0부터 1 사이의 값으로 어떤 클래스에 속할 것이냐라고 하는 어떤 클래스에 속할지라고 하는 그 예측 확률이라는 게 0부터 1 사이에 값을 갖고 이렇게 S자 곡선을 그리게 돼요. 그럼 이 로지스틱 회귀에서 우리는 어떤 것이 양성이다 어떤 것이 음성이다 라고 예측할 때 양성이냐 음성이냐 라고 예측할 때 어떤 방법을 쓰냐면 임계값을 이렇게 그어주게 되죠. 임계값을 긋습니다. 통상적으로는 0.5, 50%를 우리가 임계값으로 하게 되죠. 그래서 실제 확률은 0부터 1 사이에 어떤 연속된 값인데 우리가 임계값을 쭉 선을 그어서 이것보다 낮아? 얘가 이렇게 긍정일 확률이라고 하는 게 이것보다 낮아? 그러면 나는 그것을 부정이라고 예측할래. 그걸 부정이라고 하는 음성 클래스로 분류할 거야. 그리고 이거 임계값보다 높아? 그렇다면 내가 그것을 긍정 클래스로 분류를 해주겠다. 라고 하는 게 바로 로지스틱 회귀 분석인 거죠. 이런 구조인 거잖아요. 그러니까 내가 예측을 N이라고 하겠다. 예측을 P라고 하겠다라고 합니다. 제가 만약에 이 임계값을 0.5를 하지 않고 임계값을 조금 더 높인다라고 가정을 해볼게요. 임계값을 좀 더 높이겠다. 그래서 예를 들어서 저는 이 임계값을 저는 0.7로 예측을 하겠습니다. 그러면 P로 예상하는 것은 줄어들게 되고 N으로 예상하는 것은 늘어나게 되죠. 예상이 그렇게 바뀐다는 겁니다. 그래서 내가 긍정일 거다 라고 예상하는 것은 아무래도 양이 줄어들게 되고 부정일 거다 라고 예상하는 것은 양이 늘어나게 된다. 이것은 해당하는 데이터가 실제로 음성이냐 아니냐 랑은 아무 상관이 없는 문제죠. 실제로 음성이냐 양성이냐 와 상관없이 내가 예상할 때, 나는 그 전에 내가 P라고 예상한 것은 TP와 FP가 있었는데 요거 합쳐서 총 50개를 긍정이라고 예상을 해줬고 또 N 두 개를 합쳐서 총 50개를 부정이라고 예상을 했었는데 임계값을 0.5에서 0.7로 올려주면 P라고 예상하게 되는 것, 즉 P, 긍정으로 예상하게 되는 것의 개수가 줄어들게 되는 거죠. 근데 그 줄어드는 개수가 TP에서 줄어들지 FP에서 줄었을지 TP에서만 줄었을지 FP에서만 줄었을지 또는 양쪽에서 적당히 그냥 알아서 어떤 비율일지는 모르지만 줄었을지 이걸 생각해 보면 솔직히 그게 어디서 줄었을지는 아무도 모릅니다. 왜냐면 이건 그냥 예측일 뿐인 거잖아요. 예측이니까 임계값이 높아지면 P가 줄어들기는 하는데 그게 TP에서 줄어들지 FP에서 줄어들지는 아무도 모른다. 하지만 명확한 건 뭐냐면 임계값이 올라가면 P, 긍정으로 예측하는 것이 줄어들기 때문에 TP의 양이 줄어들면 TPR이 줄어들게 되는 거잖아요. 예측하는 게 줄어들면 FPR도 줄어들게 되는 거잖아요. 그러니까 임계값이 올라가면 FPR도 떨어질 가능성이 있고 TPR도 떨어질 가능성이 있다는 거죠. 그런데 어떠세요? 같이 움직이죠. 같이 움직입니다. 그래서 임계치를 높이면 TPR도 줄어들 수 있고 FPR도 줄어들 수 있다. 반대로 만약에 내가 임계값을 낮출 거다. 0.5가 아니라 나는 0.2 정도에서 끊겠다 라고 하면 N으로 예측하는 것의 개수가 줄고 P로 예측하는 것의 개수가 늘어나게 되죠. 그러면 TP도 늘어날 수 있고 FP도 늘어날 수 있죠. 그러니까 임계값이 낮아지면 TPR도 높아질 수 있고 FPR도 높아질 수 있습니다. 하지만 정확히 뭐가 얼만큼 높아질까는 알 수 없죠. 그거는 아직은 알 수 없어요. 그냥 얘네들이 그런 구조를 가지고 있을 뿐이다 라는 거죠. 물론 우리에게 목표는 있지만 이 목표랑 헷갈려서 생각하시면 안 돼요. 어찌 됐든 P로 예측하는 것이 늘어난다 그러면 우리가 바라는 건 다 TP에서만 늘어났으면 좋겠지만 그건 아무도 알 수 없어요. P가 늘어나면 TPR도 늘어날 수 있고 FPR도 늘어날 수 있는 거죠. 왜냐하면 애초에 부정이라고 예측하는 것 개수가 줄어들고 긍정이라고 예측하는 것 개수가 늘어나게 되니까요. 우리가 생각해야 되는 것은 이런 얘기인 거죠. TPR과 FPR은 임계값이 변하면 같이 변화하는 관계에 있다. 그래서 임계값이 떨어지면 TPR도 높아질 가능성이 있고 FPR도 높아질 가능성이 있다. 임계값을 높이면 TPR도 떨어질 가능성이 있고 FPR도 떨어질 가능성이 있다. 라고 하는 1차적인 관계, 가장 기본적인 관계를 일단 생각해 보셔야 돼요. 이거는 그냥 정말 수학적으로 그런 거고 이 다음 단계에서 여기에 우리의 목표라고 하는 게 딱 들어가는 거죠. 근데 우리는 무엇을 원하는가 라고 하면 TPR이 높아졌으면 좋겠다. 어쨌든 FPR이라고 하는 건 틀렸다는 얘기잖아요. F가 붙는다는 자체가 틀렸다는 얘기잖아요. 얘 긍정일 것 같다고 예상을 했는데 그게 틀렸다. 그런데 그 비율이 높아진다는 건 분류를 잘 못한다는 거죠. 내가 얘 긍정일 거라고 생각했는데 그게 맞았어. T, True인 거잖아요. 그러니까 우리 입장에서 보면 TPR이 더 높아지면 좋겠어라고 하는 거죠. 지금 이 관계를 보여주는 게 바로 ROC 곡선입니다. 지금 보시면 만약에 임계값이 굉장히 극단적으로 임계값이 1이라고 쳐봐요. 정말 극단적인 상태로 로지스틱 회귀가 이렇게 있는데요. 우리는 매정한 사람들이기 때문에 1. 나는 이거 100% true일 확률이 100%, 1이 아니면 나머지 그거 다 N이라고 하겠어 라고 한다 칠게요. 나는 이거 확률 100%여야만, 그래야만 그것을 긍정으로 예측하겠다. P가 진짜 극단적으로 줄어든 거죠. P가 정말 극단적으로 줄어들어서 분류를 해보니까 예를 들어 그 어떤 것도 P로 예상이 안 된다 라고 치겠습니다. 무조건 100%가 아니면 다 안 돼 라고 칼같이 딱 쳐버리니까 100%인 것이 없는 거예요. 이게 확률적으로. 그래서 내가 P로 예상한 것이 하나도 없다, 아무것도 없다 라고 하면 TP도 0이고. 그러면 TP가 0이니까 TPR은 0이 되고 FP가 0이니까 FPR도 0이 됩니다. 그게 바로 여기입니다. 지금 보시면 ROC 곡선에서 이 점이 의미하는 건 뭐냐면 만약에 임계치가 1이면 그때 FPR도 0이 되고 TPR도 0이 된다라고 하는 이 점을 지금 이야기해주는 거예요. 그럼 반대로 내가 임계치를 0으로 하면 어떨까요? 임계값. 로지스틱에서 딱 예측 확률 0.5 넘으면 P라고 하고 낮으면, 안 되면 N이라고 하자. 이런 어떤 임계값 분류선 자체를 제가 만약에 0이라고 한다 쳐봐요. 그러면 0이다라고 해버리면, 그러면 애들을 다 P로 분류한다는 얘기가 되는 거죠. 나에게 예측에서 부정이란 없다 라고 하는 거잖아요. 그러니까 나는 모든 걸 다 P로 분류하는 거죠. 그래서 P로 분류하면 N으로 분류한 것 자체가 존재하지 않으니까, FN으로 분류한 것이 존재하지 않으니까 FN은 0이 되고 TN도 0이 되죠. 왜냐하면 N으로 분류 자체를 안 하기 때문에. 그럼 어떻게 되세요? 분모와 분자가 같아지게 되죠. 얘도 분모와 분자가 같아지게 되죠. 그래서 그 점이 바로 여기입니다. 지금 보시면 이 점은 임계값이 1일 때 그리고 이 점은 임계값이 0일 때인 거죠. 이 양 극단이 딱 있는 겁니다. 그럼 이 중간 단계에 있는 건 다 뭐예요? 라고 하면 이것은 임계값이 만약에 0.5다 라고 하면 이 정도일 것 같아. 0.8이면 이 정도일 것 같아. 0.2면 이 정도일 것 같아. 임계값이 변화함에 따라서 TPR과 FPR이 어느 정도 수치를 각각 보이는가 라고 하는 것을 그림으로 이렇게 보여주는 거죠. 우리가 예를 들면 로지스틱 회귀에서 임계치를 얼마로 하느냐, 임계치를 높이면 높일수록 이 곡선에서 이쪽으로 이동하게 되는 거고, 임계치를 낮추면 낮출수록 이 곡선에서 위쪽으로 이동을 하게 되는 이러한 구조입니다. 자, 그래서 임계치가 낮아지면 TPR도 높아지고 FPR도 높아져요. 지금 보시면 높아지잖아요. TPR도 높아지고 FPR도 높아지게 되는 이런 구조인 거죠. 임계치를 낮추면 둘 다 높아집니다. 임계치를 높여버리면 둘 다 낮아지게 돼요. 둘 다 이렇게 같이 낮아져요. 이런 관계예요. 그런데 어떤 것에서 더 많이 늘어나게 되느냐. 그 관계가 있다는 것까지는 알겠고 그것은 이 수식의 가장 기본적인 것인 거고 분류 모델이 성능이 좋다면 가급적 TP가 높아지는 게 우리가 원하는 목표가 되는 거죠. 어차피 그런 관계라면 TP가 높아지는 쪽으로 갔으면 좋겠어 내가 추가로 더 긍정이라고 예측하는 것들이 모두 다 TP였으면 좋겠어 라는 거죠 내가 임계값을 낮춰서 P로 분류하는 게 50개 더 늘어났다 라고 하면 이건 모두 다 TP가 됐으면 좋겠는 거지 일부는 FP가 됐으면 그런 걸 별로 우리가 원하지는 않는 거죠. 그러니까 늘어나게 되는 애들이 다 TP 쪽으로 갔으면 좋겠어라고 하는 의미입니다. 그러면 TP 쪽으로 갔으면 좋겠어. 제가 임계값을 여기 있다가 임계값을 1로 하고 있다가 임계값을 낮추면 FP가 늘어나는 속도보다 TP가 늘어나는 속도가 더 컸으면 좋겠어요. 그러면 임계값을 조금 낮춰서 임계값이 1일 때랑 임계값이 0.9일 때 늘어나는데 TP랑 FP가 똑같은 속도로 늘어난다 얘네가 늘어난 속도가 똑같으면 이 직선을 따라가게 되겠죠 둘이 똑같은 속도로, 얘가 늘어난 만큼 얘도 늘어나라고 하면 이 직선을 따라가게 될 겁니다. 그런데 TP가 더 빠르게, 더 가파르게 늘어나면 어떻게 돼요? 이 곡선이 점점점점 더 이쪽으로 이렇게 이동하게 되는 거죠. 그래서 임계값을 조금만 낮춰도 TP가 확 뛴다. 만약에 0에서 임계값을 조금만 낮추기만 하면 TP가 엄청 높아져요. TP로 예상하는 것, 그러니까 P로 예상했는데 맞추는 게 엄청 높아져요라고 하면 극단적이면 어떻게 될까요? 이렇게 되는 거죠. 이렇게. 이렇게. TP가 빵 올라가게 되는 거죠. 그래서 얘네 둘은 서로 임계값의 변화에 따라서 같이 낮아지고 같이 높아지는 관계에 있는데 그 높아지고 낮아지는 관계에서 우리는 TP가 더 많이 늘어나기를 바라고 그것은 이 블루 모델이 이 둘의 어떤 변화를 보여주는 ROC 곡선에서 이 곡선이 조금이라도 더 위쪽으로 이렇게 위쪽으로 이렇게 더 꺾이게 되는 상황이 더 블루 모델에서는 좋은 상황이다 라고 보게 되는 거죠 분류 모델이 TP 쪽으로 더 빨리 움직인다면 아래쪽 면적을 AUC라고 하고요. 아래쪽 면적을 여기 보시면 곡선 아래 지역이라는 뜻입니다. 그래서 AUC라고 부르고 이 AUC가 점점점점 더 넓어지는 효과가 있게 되는 거죠. AUC가 얼마나 넓으냐? 둘의 관계에서 TP가 늘어나는 속도가 훨씬 빠르다는 것을 보여주는 값이 바로 AUC입니다 정리해보자면 ROC 곡선이라고 하는 것은 ROC 곡선이 보여주는 건 임계값의 변화에 따라서 예측 확률이 있을 때 임계값을 얼마로 하느냐 어디서 끊느냐에 따라서 TPR과 FPR이 어떤 값을 갖고 있는가 어떻게 변화하는가 라는 것을 보여주는 곡선 이게 ROC입니다. ROC를 그리는데 이제 ROC는 거기까지예요. 근데 우리는 우리가 원하는 게 TP가 많이 늘어났으면 좋겠는데 라는 걸 원하는 거고 그 TP가 많이 늘어났다 라고 하는 것 얼마나 많이 늘어났는가 라고 하는 것을 직관적으로 알 수 있는 게 면적이 넓어지면 이 곡선 아래 부분 면적이 넓어지면 TP 쪽으로 더 빠르게 움직이고 있다 라고 하는 것을 알 수가 있는 거죠. 그래서 임계값 변화에 따라서 변화하게 되는 TP의 양 자체가 TP쪽으로 훨씬 더 빨리 움직이고 있어라고 하는 것을 보여주는 값이 바로 AUC입니다. 그러니까 분류 모델의 성능을 직관적인 값 하나로 딱 말한다면 그건 AUC가 되는 거죠. 그래서 AUC가 만약에 가장 극단적이다 라고 하면 TP가 사실상 이 임계값을 100%라고 했을 때 그런데 그럼에도 불구하고 정확하게 그 POSITIVE라고 예측한 애들이 모두 다 POSITIVE다 라고 할 수 있다면 그때는 그래프가 이렇게 생기게 되겠죠? 그때 확률이기 때문에 1 곱하기 1, AUC의 범위는 바로 1이라고 하는 값을 갖죠. 그래서 AUC가 1이다. AUC는 1 면적이기 때문에 0에서 1의 값을 갖게 되고 1에 가까울수록 좋은 모형이 되는 거고 AUC가 1이라면 그러면 긍정은 긍정으로, 부정은 부정으로 바르게 분류하는 상황이라고 얘기할 수 있습니다. AUC의 변화랑 그것을 조금 더 다른 모습으로 그려보자면 이런 모습인 거예요. 보시면 ROC 곡선이 있습니다. ROC 곡선이 이렇게 빨간색으로 생기는 상황을 생각해 볼게요. 이때의 AUC는 얼마입니까? AUC는 이 아래쪽 면적이니까 정사각형 1 곱하기 1 가로 곱하기 세로라고 하는 AUC는 1이라고 하는 값을 갖게 되는 거죠 그래서 AUC가 1이라는 값을 갖고 있는 그 상황은 어떤 상황이냐 라고 하면 지금 보시면은 내가 긍정이라고 예측한 것은 모두 다 긍정이고 부정이라고 예측한 것은 모두 다 부정인 상태다 라고 보시면 될 것 같아요 근데 이런 이상적인 상황은 잘 있지 않죠. 내가 긍정이라고 예측한 것들 중에서도 일부는 사실은 부정인데 잘못 예측한 것이 있을 수가 있고 그리고 내가 부정이라고 예측한 것 중에서도 잘못 예측한 부분이 있을 수가 있습니다. 그래서 섞이게 돼요. 그러면서 이 ROC 곡선이 조금 더 이렇게 아래쪽으로 내려가게 되는 거죠. AUC 0.7 정도면 이런 느낌으로 우리가 볼 수가 있고요. 만약에 TPR과 FPR이 같이 늘어난다라고 한다면 그 상황은 AUC가 0.5인 거잖아요. 그러니까 사실상 전혀 어떤 분류를 해내지 못하는 그러한 상황이라고 보실 수 있어요. 가끔 보면 0.5, 0.7이라고 하는 이 AUC의 값과 어떤 예측 확률을 클래스로 분류해주는 임계치를 혼동하시는 경향이 있어요. 하지만 이 ROC 곡선은 그 임계값 별로 얘네들의 관계 변화를 보여주는 거지 AUC의 그 면적은 임계치와는 전혀 다른 겁니다 그래서 그 임계값과는 좀 다른 거다 라고 하는 것을 강조 드릴게요 그럼 AUC가 만약에 정말 0으로 떨어졌어요 그래서 임계값을 낮추면 낮출수록 위 양성률만 계속 늘어나요 실제로는 부정인데 긍정이라고 자꾸 얘기하는 거죠 그러한 상황이라고 하는 것은 역전되는 상황인 거죠 양성을 음성으로 자꾸 예측을 하고 음성을 양성으로 예측하는 이런 상황이다 라고 볼 수 있습니다 그래서 이 관계는 지금 보시는 것처럼 그냥 무작위로 전혀 분류하지 못한다라고 하는 상태 임계치를 낮추면 위 양성이 늘어나는 것만큼 진 양성도 같이 늘어난 상태다 라고 할 때 ROC 곡선은 이런 직선을 그리게 되고요 이게 바로 어떤 분석 모델에서 특별한 오류가 없는 한 우리가 조금 어떤 최악점을 그리게 되는 그러한 성능이 좋지 않은 이것보다 나쁘다면 좀 문제가 있다라고 하는 선이 되는 거고요. 이것이 점점 TPR 쪽으로 이렇게 볼록하게 올라가서 AUC가 늘어날수록 우리는 그러한 분석 모델, 분류 모델이 더 좋은 것이라고 이야기할 수 있습니다. 이 개념을 처음 보았을 때는 조금 헷갈리실 수 있어요 그렇지만 여러분께서 차근차근 지켜보시면 하나하나 보시면 조금 더 잘 정리될 수 있는 부분이 있다 라고 정리를 한번 해볼게요
