ROC 커브
태그 : 인지덤,알고리즘,ROC 커브
- 개념
- 민감도, 특이도, TPR, FPR 특정 집단의 민감도 측정 방법, ROC 커브의 정의 - 특정 진단 방법의 민감도(Sensitivity)와 특이도(Specificity)가 어떤 관계를 갖고 있는지를 표현한 그래프
## Ⅰ. ROC 커브(Receiver-Operating Characteristic curve)의 개요
### 가. 특정 집단의 민감도 측정 방법, ROC 커브의 정의
- 특정 진단 방법의 민감도(Sensitivity)와 특이도(Specificity)가 어떤 관계를 갖고 있는지를 표현한 그래프
### 나. ROC 커브 작성 방법
- ROC curve는 어떤 검사의 판단결과(binary classifier)의 performance를 보여주는 그래프로, TPR(true positive rate) or sensitivity, 을 y 축으로
FPR(false positive rate) or 1-specificity 을 x 축으로 가진다.
- 즉, TRP = y축 = sensitivity = (TP / (TP + FN)FPR = x 축 = 1-specificity = 1 - [ TN / (TN + FP)]할 수 있다.
- classifier의 합리성을 나타내는 지표로 AUC(Area Under the Curve) 인데 roc curve의 아래 면적을 의미한다.
- auc가 높으면(1에 가까우면) 물론 sensitivity 와 specificity 가 모두 높은 것이니 좋은 classification이라 할 수 있고 auc가 0.5 아래로 떨어지면 performance가
아주 안 좋은 것으로 classification이 쓸모 없는 것이라 할 수 있다

## Ⅱ. ROC 커브와 AUC, 그리고 민감도와 특이도
### 가. TPR과 FPR을 각각 x,y축으로 놓은 그래프

- 양분된 결과를 예측하는 테스트의 정확도를 평가하기 위하여 흔히 두 가지 지표, 민감도(sensitivity)와 특이도(specificity)를 사용
ex) 어떤 건상 상태를 가지고 있는 경우와 그렇지 않은 경우를 얼마나 잘 구분할 수 있는지를 의미
### 나. ROC 커브 핵심 개념
| 핵심개념 | 설명 |
| -------- | -------- |
| **민감도(sensitivity)** | 1인 케이스에 대해 1이라고 예측한 것 |
| **특이도(specificity)** | 0인 케이스에 대해 0이라고 예측한 것 |
| **양성율 TPR**
**(True Positive Rate)** | - TPR = 민감도 = 1 - 위음성율, true accept rate
- 1인 케이스에 대해 1로 맞게 예측한 비율
- ex) 암환자를 진찰해서 암이라고 진단 함| | **위양성율 FPR**
**(False Positive Rate)** | - FPR = 1 - 특이도, false accept rate
- 0인 케이스에 대해 1로 잘못 예측한 비율
- ex) 암환자가 아닌데 암이라고 진단 함 | TPR과 FPR은 서로 반비례적인 관계에 있음 - 암환자를 진단할 때, 성급한 의사는 아주 조금의 징후만 보여도 암인 것 같다고 할 것이다. 이 경우 TPR은 1에 가까워지지만 FPR은 반대로 매우 낮아져버린다. (정상인 사람도 다 암이라고 하니까) 이처럼 TPR과 FPR은 둘다, 어떤 기준(언제 1이라고 예측 할 지)을 연속적으로 바꾸면서 측정 해야한다. 결국 **TPR과 FPR의 여러가지 상황을 고려해서 성능을 판단해야 하는데, 이것을 한눈에 볼 수 있게 한 것이 바로 ROC 커브이다.** 그래서 ROC커브는 이것들을 그래프로 표현하여, 어떤 지점을 기준으로 잡을 지 결정하기 쉽게 시각화 한 것이다. ### 다. ROC커브의 밑면적(the Area Under a ROC Curve; AUC; AUROC ) - ROC 커브의 X,Y축은 [0,1]의 범위며, (0,0) 에서 (1,1)을 잇는 곡선 - ROC 커브의 밑 면적이 1에 가까울수록(즉, 왼쪽 상단 꼭지점에 다가갈수록) 좋은 성능 - 이때의 면적(AUC)은 0.5~1의 범위를 가짐(0.5면 성능이 전혀 없음. 1이면 최고의 성능) ### 라. AUC 해석 - 쉽게 1로 예측하는 경우 민감도는 높아지지만 모든 경우를 1이라고 하므로 특이도가 낮아진다. 그러므로 이 민감도와 특이도 모두 1에 가까워야 의미가 있음 - 따라서 ROC커브를 그릴때 특이도를 1-특이도를 X축에 놓고, Y축에 민감도를 놓는다. 그러면 x=0일때 y=1인 경우 최적의 성능이고, 점점 우측 아래로 갈수록, 즉 특이도가 감소하는 속도에 비해 얼마나 빠르게 민감도가 증가하는지를 나타냄. - AUC값은 전체적인 민감도와 특이도의 상관 관계를 보여줄 수 있어 매우 편리한 성능 측정 기준임 AUC = 0.5인 경우 - 특이도가 감소하는 만큼 민감도가 증가하므로 민감도와 특이도를 동시에 높일 수 있는 지점이 없음 - 특이도가 1일때 민감도는 0, 특이도가 0일때 민감도는 1이되는 비율이 정확하게 trade off관계로, 두 값의 합이 항상 1임
**(True Positive Rate)** | - TPR = 민감도 = 1 - 위음성율, true accept rate
- 1인 케이스에 대해 1로 맞게 예측한 비율
- ex) 암환자를 진찰해서 암이라고 진단 함| | **위양성율 FPR**
**(False Positive Rate)** | - FPR = 1 - 특이도, false accept rate
- 0인 케이스에 대해 1로 잘못 예측한 비율
- ex) 암환자가 아닌데 암이라고 진단 함 | TPR과 FPR은 서로 반비례적인 관계에 있음 - 암환자를 진단할 때, 성급한 의사는 아주 조금의 징후만 보여도 암인 것 같다고 할 것이다. 이 경우 TPR은 1에 가까워지지만 FPR은 반대로 매우 낮아져버린다. (정상인 사람도 다 암이라고 하니까) 이처럼 TPR과 FPR은 둘다, 어떤 기준(언제 1이라고 예측 할 지)을 연속적으로 바꾸면서 측정 해야한다. 결국 **TPR과 FPR의 여러가지 상황을 고려해서 성능을 판단해야 하는데, 이것을 한눈에 볼 수 있게 한 것이 바로 ROC 커브이다.** 그래서 ROC커브는 이것들을 그래프로 표현하여, 어떤 지점을 기준으로 잡을 지 결정하기 쉽게 시각화 한 것이다. ### 다. ROC커브의 밑면적(the Area Under a ROC Curve; AUC; AUROC ) - ROC 커브의 X,Y축은 [0,1]의 범위며, (0,0) 에서 (1,1)을 잇는 곡선 - ROC 커브의 밑 면적이 1에 가까울수록(즉, 왼쪽 상단 꼭지점에 다가갈수록) 좋은 성능 - 이때의 면적(AUC)은 0.5~1의 범위를 가짐(0.5면 성능이 전혀 없음. 1이면 최고의 성능) ### 라. AUC 해석 - 쉽게 1로 예측하는 경우 민감도는 높아지지만 모든 경우를 1이라고 하므로 특이도가 낮아진다. 그러므로 이 민감도와 특이도 모두 1에 가까워야 의미가 있음 - 따라서 ROC커브를 그릴때 특이도를 1-특이도를 X축에 놓고, Y축에 민감도를 놓는다. 그러면 x=0일때 y=1인 경우 최적의 성능이고, 점점 우측 아래로 갈수록, 즉 특이도가 감소하는 속도에 비해 얼마나 빠르게 민감도가 증가하는지를 나타냄. - AUC값은 전체적인 민감도와 특이도의 상관 관계를 보여줄 수 있어 매우 편리한 성능 측정 기준임 AUC = 0.5인 경우 - 특이도가 감소하는 만큼 민감도가 증가하므로 민감도와 특이도를 동시에 높일 수 있는 지점이 없음 - 특이도가 1일때 민감도는 0, 특이도가 0일때 민감도는 1이되는 비율이 정확하게 trade off관계로, 두 값의 합이 항상 1임