티스토리 뷰

머신러닝

Confusion Matrix & ROC Curve

Sims. 2023. 5. 24. 19:05

Confusion Matrix와 ROC Curve를 공부하여 나름대로 정리합니다.

 

 

Confusion Matrix는 누가 이름을 지었는지 몰라도... 완벽한 네이밍이다.

볼때마다 내 머리속을 혼동시킨다..

오늘 이해하고 넘어가보려 한다.

 

Confusion Matrix는 실제(Y) , 예측 (Y^)을 가지고 Matrix를 만든다.

즉, 총 4가지 경우의 수가 나온다.

Y == Y^ == T : Y 와 Y^ 이 같으면서, 예측값이 T일때

Y == Y^ == F : Y 와 Y^ 이 같으면서, 예측값이 F일때

Y != (Y^ == T) : Y 와 Y^ 이 다르면서, 예측값이 T일때

Y != (Y^ == F) : Y 와 Y^ 이 다르면서, 예측값이 F일때

 

즉, TP , FN, FP, TN 이런 결과가 나오게 되는데, 앞자리는 Y == Y^ 인지 나타내는 것이고, 뒷 자리는 예측이 어떤 예측을 했는가(P / N)을 나타낸다.

Matrix을 그리면 밑에 노트와 같이 행렬을 그릴 수 있다.

 

그럼 이제 가장 헷갈리는 Precision, Recall을 살펴보자.

필자의 개인적인 생각으로는 Precision 과 Recall은 똑같다고 본다?(거의 유사하다??)

이유는.. 기준이 어느것에 기준하느냐에 따라 달라지기 때문이다.

Precision은 '실제'값을 기준으로 구하는 지표이고, Recall은 '예측'을 기준으로 구하는 지표이다.

 

Precision = TP / (TP + FN)

Recall = TP / (TP + FP) 

이 것중 다른 점은... 기준만 다르지 구하는 방법은 똑같다.

 

즉, Precision은 실제기준 / Recall은 예측기준 끝.

 

ROC Curve를 한번 살펴보자.

ROC Curve의 면적이 1에 가까우면 좋은 판단력을 가졌다고 한다.

왜 그럴까?

ROC Curve의 x축은 FPR / y 축은 TPR 이다. 

ROC Curve를 그릴때는 반드시 예측 기준이다.

즉, TPR = Recall ( TP / (TP + FN)) 

FPR = FP / (FP + TN) 이 된다.

TPR은 얼마나 True를 잘 예측했는가! FPR은 얼마나 FALSE를 잘 예측했는가! 

 

Threshold 값을 아주 높게 해버리면, 모든 경우 다 틀릴 것이니 0... 

Threshold 값을 아주 낮게 해버리면, 모든 경우 다 맞다고 할 테니... 1의 지점으로 점이 이동한다.

그 사이는 Threshold값을 통해 점의 위치가 결정되고, 곡선을 만들게 되는것이다.

즉, ROC Curve의 면적이 1에 가까울수록 TPR값이 높다는 소리니.. 보다 잘 맞췄다고 볼 수 있다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/04   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
글 보관함