Confusion Matrix & ROC Curve
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값이 높다는 소리니.. 보다 잘 맞췄다고 볼 수 있다.