Introduction
다들 아시겠지만, 저는 잘 모르니... 먼저 간단하게 정리합니다. 일단 다음 4개의 용어를 먼저 기억해야 합니다.
True Positivie(TP) | True 인데, True라고 맞춘 경우(잘한 경우) |
False Positive(FP) | False 인데, True라고 한 경우(틀렸어요.) |
True Negative(TN) | False 인데, False라고 맞춘 경우(잘한 경우) |
False Negative(FN) | True 인데 False 라고 한 경우(틀렸어요.) |
TP, TN은 잘 한 경우, FP, FN은 잘못한 경우입니다. 그런데 FP, FN 중에 뭐가 낫냐고 하면, 그건 Case By Case 입니다. 예를 들어 암인데, 암이 아니라고 진단하거나, 암이 아닌데 암이 라고 진단하는 케이스는 어떤 경우가 더 나쁠까요?
그럼 이제 Accuracy, Recall, Precision 에 대해서 알아보도록 하겠습니다. 먼저 Accuracy 는 굉장히 간단합니다. 명확하게 정확도입니다. 정확도라고 생각하면, 즉 전체 중에서 정답을 얼마나 맞춰는가죠. 위의 표를 보시면 total population 이라고 되어 있는데, 그냥 위의 TP+FP+TN+FN, 즉 다 더한겁니다. 즉 전체 합 분의 잘 찾은 경우 즉 TP+TN이 되는 것이죠. 그래서 Accurancy 는 TP+TN/TP+TN+FP+FN 이 됩니다. 간단하죠? 간단하게 말하면, 전체 케이스 중에 정확하게 맞춘 비율입니다.
먼저 precision 은 검출한 것의 정확도라고 할 수 있습니다. 그냥 정확도라고 하면 위의 Accuracy 와 혼동이 오게 되는데, 위의 공식을 보면 TP/Prediction Positive 라고 되어있습니다. Prediction Positive 와 condition positive 가 표에 나오는데 Prediction Positive는 분류를 True 라고 말하는 케이스, Condition Positive 는 실제로 True 인 케이스입니다. 즉 Prediction Positive 는 위의 표에서 TP + FP 가 되구요, Condition Positive 는 TP+FN 이 됩니다. 위의 그림대로입니다. 다시 precision으로 돌아와서 간단하게 TP/TP+FP 입니다. 즉 True라고 분류했으면, 진짜 True 일 확률입니다.
그럼 이제 Recall 은 무엇인가? 검출율이라고 설명하면 쉬운데, 위의 공식을 보면 TP/condition positive 입니다. 즉 TP/TP+FN, 즉 진짜 True 중에 내가 얼마나 TRUE를 제대로 맞췄는가 라고 말할 것인가에 대한 값입니다.
정리하면
Accurancy: TP+TN/Total Population, TP+TN/TP+TN+FP+FN, 전체 케이스 중에 정확하게 맞출 확률
precision: TP/Prediction Positive, TP/TP+FP, True라고 분류 했을 때, 진짜 True 일 확률
Recall: TP/Condition Positive, TP/TP+FN, 진짜 True 중에 True를 제대로 맞출 확률
이제 아래의 그림대로 한번 계산을 해보도록 하면...
Accuracy | TP+TN/TP+TN+FP+FN | 30420/33376 = 0.911 |
Precision | TP/TP+FP | 26455/27812 = 0.951 |
Recall | TP/TP+FN | 26455/28054 = 0.943 |
이제 어디가서 좀 아는척 좀 하면 되겠습니다.
References
https://www.popit.kr/%EC%9A%A9%EC%96%B4-%EC%A0%95%EB%A6%AC-%EC%9E%85%EA%B0%9C%EB%B0%9C%EC%9E%90%EB%A5%BC-%EC%9C%84%ED%95%9C-accuracy-precision-recall/
제 글이 도움이 되셨다면 간단하게 '공감', '댓글' 부탁드립니다!
'Machine Learning' 카테고리의 다른 글
머신러닝 공부하기 좋은 사이트 모음 (2) | 2019.01.16 |
---|
댓글