728x90

기계학습을 사용해서 프로젝트를 하고, 논문을 썼지만 평가 지표를 제대로 이해하지 못 했다.

 

면접 과정에서 Recall과 Precision이 무엇인가요? 라는 질문을 받았을 때

 

"Precision은 TP/(TP + FP)이고, Recall은 TP/(TP + FN) 입니다." 라고 대답을 했다.(좀더 길고 자세히? 지저분하게 설명...)

 

 

사실 기계학습을 하면서 가장 중요한 지표는 Accuracy(정확도)와 F1-Score라고 생각했는데 다시 공부를 하면서 시야가 넓어진 것 같다.

 

 F1-Score가 Recall과 Precision의 조화 평균으로 두 지표를 포함하는 좋은 지표이지만 데이터에 따라서, 예측 타겟에 따라 지표를 다르게 해야한다는 것을 알게 되었다.

 

예를들면, Precision의 경우 True로 예측/분류했지만 실제 False인 경우의 비율을 알 수 있는데, 

스팸데이터 분류의 경우 정상적인(False) 메일을 스팸(True)로 분류하면 안된다.

즉, Precision의 값이 높을수록 좋다.

 

Recall의 경우 실제 True인 것을 False로 예측/분류한 데이터의 비율을 알 수 있는데,

시스템 장애 예측 또는 암 진단 모델의 경우

시스템 장애 및 암(True)를 정상(False)로 예측/분류하면 안된다.

즉, Recall의 값이 높을수록 좋다.

 

장애 예측 연구를 하면서 당연히 F1-Score만 높으면 된다고 생각했는데

실제로는 Recall의 값을 더 중요하게 생각하고 설계했어야했다....

 

 

만약, F1-Score가 90과 91인 두 모델이 있다고 했을 때

(F1-Score가 그냥 Recall과 Precision의 평균으로 가정)

첫번째 모델이 Precision 89, Recall 91

두번째 모델이 Precision 86, Recall 96

이였다면, 장애 예측의 경우 첫번째 모델이 더 좋았을 것이다.

그러나 F1-Score만 비교하였기 때문에 제대로 된 비교를 하지 못 했다고 생각한다.

728x90

'Machine Learning' 카테고리의 다른 글

경사하강법(Gradient Descent) 쉽게 이해하기  (0) 2021.08.17
정규 분포  (0) 2021.08.08