Machine Learning

Precision과 Recall, 그리고 f1 score

jinmc 2021. 6. 3. 11:23
반응형

참고 : https://jinmc.github.io/ds_blog/posts/ml_andrew_ng/wk6/

 

오늘은 Precision과 Recall, mAP에 대해서 정리해보도록 하겠습니다.

예를 들어서, 100명의 사람과 10명의 암환자가 있다고 생각해 봅시다.

 

암환자 입장에서는, 무조건 암이 있다면 암이 있다고 진단을 받는게 좋을 것입니다.

10명의 암환자 중에서, 몇 명의 암환자가 진단을 받느냐가 중요하겠죠?

이걸 Recall rate이라고 합니다.

 

하지만 Recall rate만 중요시한다면, 100명의 사람을 모두 암에 걸렸다고 할 수 있겠죠?

하지만 그렇게 한다면, 제대로 된 진단이라고 할 수 없겠죠?

진단 결과를 너무 남발한다면, 사람들에게 정신적인 충격을 줄 뿐만 아니라, 

검사 자체의 신뢰도도 떨어질 것입니다.

 

그래서 중요한 게, 암이라고 진단한 사람들 중 몇 명이 실제 걸렸는지 알아보는 거를

Precision이라고 합니다.

 

 

위에서 잠시 살펴봤듯이, Precision과 Recall이 둘다 중요합니다!

여기서 True positive, True negative, False positive, False negative가 있는데,

True positive는 암에 걸리고 암이라고 진단받은 사람,

false positive는 암에 안걸렸는데 암이라고 진단받은 사람,

True negative는 암에 안 걸렸는데 암이라고 진단 안받은 사람,

false negative는 암에 걸렸는데 암이 아니라고 진단받은 사람입니다.

 

그럼 Precision과 Recall을 한번에 평가할 수 있는 지표가 있을까요?

f1 score가 있습니다.

 

그럼 왜 F1 score는 recall과 precision의 평균을 사용하지 않을까요?

 

다음과 같이, R만 크게 만들고, P를 작게 만들 경우, 둘이 같이 높은 것보다도 평균이 낮은 게 f1 score를 사용하는 이유 중 하나라고 보시면 될 것 같습니다.

반응형