해결된 질문
작성
·
341
0
3장 오차행렬에 보면 TN, FP, FN, FP 라는 용어들이 나오는데,
예로들면
TN은 예측값이 Negative고 실제값도 Negative여서 참인 것,
FP는 예측값은 Positive인데 실제값은 Negative여서 거짓인 경우.
...
이렇게 이해를 했습니다.
그런데 제가 수학을 못해서 그런지 위의 값들로 정밀도, 재현율이 어떻게 나오는건지
잘 이해가 안갑니다.
또 정밀도, 재현율이 정확히 뭘 뜻하는지도 이해가 안가네요...
답변주시면 정말 감사하겠습니다.
답변 3
2
2020. 04. 06. 23:38
많은 분들이 이미 답변해 주셔서 큰 도움이 되셨을 거라 생각됩니다. 답변해 주신 분들게 감사드립니다.
저도 첨언 하겠습니다.
먼저 분류는 예측 결과가 맞느냐 맞지 않느냐 2가지 예측 값을 가지는 이진 분류와 여러개 중의 한개값을 예측(예를 들어 붓꽃 데이터 세트의 품종을 예측)하는 멀티 분류가 있습니다.
일반적으로 멀티 분류의 예측 성능을 평가하는 지표는 정확도 입니다. 즉 예측을 100번 했다면 그중에 정확히 예측한게 99번이면 정확도는 99%입니다.물론 멀티 분류에서도 정밀도, 재현율, ROC-AUC의 평가 지표가 사용 가능합니다.
이진 분류에서는 보통 정확도를 잘 사용하지 않습니다. 이진 분류가 가지는 업무적인 특성이 있는데, 정확도는 맞냐, 틀리냐의 기준만으로 평가하기 때문입니다. 정밀도, 재현율, ROC-AUC의 지표가 주로 이진 분류에서 사용됩니다.
먼저 정밀도, 재현율을 설명 드리기 전에 양성(Positive), 음성(Negative)에 대해서 추가적으로 말씀 드리겠습니다. 양성이냐/음성이냐는 맞냐/틀리냐와는 다른 개념입니다. 이진 분류의 특성상 0(Negative)이냐/1(Positive)이냐로 간주하셔도 무방합니다. 가령 암진단 이라면 암일 경우 양성(Positive), 암이 아닌 정상의 경우 음성(Negative)와 같이 분류합니다. 금융 사기 검출의 경우 사기 거래는 양성(Positive), 정상 거래는 음성(Negative)으로 분류합니다. 보통 이진 분류는 업무적으로 보면 전체 데이터 중에서 일부 문제가 되는 경우를 찾는 경우가 많습니다. 따라서 양성인 경우는 일반적으로 전체 데이터세트에서 많지 않습니다.
예를 들어 1000명 중에 990명이 정상인, 10명이 암환자가 있는 집단에서 1000명 모두를 정상(음성, Negative)로 예측하면 정확도는 99%의 신뢰도를 가지게 되지만 10명의 암환자는 치료를 못받게 되는 엄청난 과실을 범하게 됩니다. 일반적으로 이진 분류에서 양성 데이터들은 전반적으로 데이터 갯수가 작지만 실수하면 큰일나는 특성을 가지고 있습니다. 하지만 정확도(Accuracy)는 이를 감안하지 않고 무조건 음성으로만 예측해도 좋은 평가 지표를 얻는 단점이 있습니다. 때문에 정밀도, 재현율, ROC-AUC의 평가 지표를 이진 분류에서는 사용합니다.
정확도가 가지는 문제를 해결하기 위해서는 '맞으면 왜 맞았는지', '틀리면 왜 틀렸는지'에 대한 추가적인 지표값이 필요하게 됩니다. 이를 반영한게 오차 행렬 입니다.
맞음(True)의 범주는 실제 Positive를 Positive로 예측해서 맞았는지(True Positive), 실제 Negative를 Negative로 예측해서 맞았는지 (True Negative)로 나뉩니다. 비슷하게 틀림의 범주는 실제 Positive를 Negative로 예측해서 틀렸는지(False Negative), 실제 Negative를 Positive로 예측해서 틀렸는지(False Positive)로 나뉩니다.
정밀도, 재현율 모두 이 양성(Positive) 예측이 중요한 지표인데 차이가 있습니다.
먼저 재현율에 대해서 말씀드리겠습니다. 재현율은 실제값이 양성인 대상중에 예측값과 실제값이 모두 양성으로 일치한 데이터의 비율입니다. 양성 데이터를 잘못하여 음성으로 판단하여 크게 지표가 떨어지게 됩니다(즉 암 환자를 정상이라고 잘못 예측한 경우).
재현율의 공식 TP/(FN + TP)은 이러한 재현율 지표의 특성을 반영하게 됩니다. 즉 FN(암환자 Positive를 정상 Negative로 잘못 예측)가 커지면 분모 값이 커지므로 재현율 값은 낮아지게 됩니다. 앞의 예에서 1000명을 모두 Negative로 예측하면 TP=0, FN=10 이 되므로 재현율은 0 입니다. 1000명중에 999명을 정상(암환자 9명을 정상으로 예측), 암환자 1명만 암으로 예측 했다면 TP=1, FN=9 이므로 재현율은 1/9 입니다. 이처럼 재현율은 실제 Positive인 대상이 얼마나 잘 예측 되는지 나타내는 중요한 지표 입니다.
하지만 재현율도 얼마든지 조작가능합니다. 웬만하면 모두 다 양성으로 예측하면 재현율이 높아집니다. 앞의 예에서 1000명 모두를 암환자(Positive)로 예측하면 재현율은 100%입니다. 1000명중 10명의 암환자는 어찌 되었는 간에 맞췄으니까 TP는 10, FP는 아예 Negative로 예측하지 않았으니까 0 이므로 재현율은 100% 입니다. 따라서 양성(Positive)로 예측한 것들에 대한 좀 더 세밀한 지표가 필요하며 이 때 정밀도가 요긴하게 작용합니다.
정밀도는 예측을 Positive로 한 대상중에 예측과 실제 값이 Positive로 일치한 데이터의 비율입니다. 즉 Positive 예측의 품질을 더 자세히 조사합니다. 정밀도의 공식은 TP/(FP+TP) 입니다. 만일 Positive로 예측했는데 틀린 결과가 많다면 FP가 커지고 정밀도의 수치가 떨어지게 됩니다. 1000명 모두 암환자로 예측하면 재현율은 100%일지 모르지만 정밀도는 TP=10, FP=990이 되므로 정밀도는 1%가 됩니다.
때문에 이진분류는 보통 재현율을 중시하지만 다음과 같이 평가 지표를 요구합니다. 정밀도 얼마일때 재현율 얼마. 즉 정밀도와 재현율이 모두 균형이 잡혀야 좋은 이진 분류 모델로 평가 될 수 있습니다.
이진 분류가 단 두개의 값만 예측하므로 평가 지표도 단순할 것이라고 짐작하기 쉽지만 업무적인 관점에서는 더 다양한 평가 지표를 통해 예측 성능이 평가 되어야 하는 특성이 있으므로 정밀도, 재현율, ROC-AUC가 사용됩니다.
감사합니다.
1
저는 이렇게 이해했습니다. 뒤로부터 해석하는거죠
TP -> Positive로 예측했는데 True 다
FN -> Negative로 예측, False다(즉 예측이 틀렸다)
FP -> Positive로 예측, False다(예측이 틀렸다 -> True가 맞음)
TN -> Negative로 예측, True다(예측이 맞다 -> Negativer가 맞음)
책에는 이해를 돕는 그림이 나오는데요, 임신한 여성분과 남성분들 대상으로 예측합니다.
위의 TP/FN/FP/TN으로 대입해보면,
TP -> 임신한 여성한테 임신했다고 함
FN -> 임신한 여성한테 임신이 아니라고 함
FP -> 남성한테 임신했다고 함.
TN -> 남성한테 임신 안했다고 함
1
제 답변이 도움이 될지는 모르겠지만 제가 공부하면서 이해했던 방식이라 도움이 될거 같아서 남겨드립니다.
정밀도
모델이 True라고 분류한 것 중에서 실제 True인것 (Positive 정답률 이라고도 한데요)
날씨 예측을 했을 때 예측이 맑다로 예측했는데, 실제 날씨가 맑았는지 살펴보는 지표.
재현율
실제로 True인것 중에서 모델이 True라고 예측한 것 (Sensitivity, Hit Rate 라고도 합니다.)
실제 날씨가 맑은 날 중에서 모델이 맑다고 예측한 비율을 살펴보는 지표.
도움이 되실지 모르겠지만 저는 이렇게 이해하니 빠르게 이해했던것 같습니다.