Notice
Recent Posts
Recent Comments
Link
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
09-16 15:36
관리 메뉴

SJ_Koding

Precision(정밀도)와 Recall(재현율)의 의미와 예시 그리고 F1-score에 대하여. 본문

Data analysis/etc

Precision(정밀도)와 Recall(재현율)의 의미와 예시 그리고 F1-score에 대하여.

성지코딩 2022. 3. 12. 13:37

Confused matrix (혼동행렬)

  Retrieved?
(양성으로 예측했니?)
Relevant?
(실제 양성이니?)
  YES NO
YES TP FN
NO FP TN

T의 의미: 예측이 성공한 것

TP: 참으로 예측한 것이 실제로 참 (적중)

TN: 거짓으로 예측한 것이 실제로 거짓 (적중)

 

F의 의미: 예측을 실패한 것

FP: 참으로 예측한 것이 실제로 거짓 (오답)

FN: 거짓으로 예측한 것이 실제로 참 (오답)

 

정밀도와 재현율을 공부할 때, 식을 외우는게 아니라 단어의 의미를 파악하는것이 중요.

이해를 위해 코로나바이러스로 예를 들겠습니다.

 

Precision(정밀도)와 Recall(재현율)


Precision (정밀도) : 양성으로 예측한 것중 실제로 양성인 비율

ex) 확진자로 분류된 사람이 실제 확진된 사람의 비율

 

양성으로 예측한 것: TP와 FP

실제 양성인 것: TP , FN

 

그런데 양성으로 예측한 것들(TP, FP) 중 실제 양성인 비율이므로 FN은 제외한다.

따라서,

 

Precision: TP / (TP + FP) 

- 진단키트로 분류된 사람이 8명이고 실제 확진판정을 받은 사람이 6명일 때, 정밀도는 6/8이다.

(주의, 진단키트의 예측은 위에서 말하는 예측과는 완전히 다른 개념이지만 이해를 위해 예측한다라고 표현하겠습니다.

진단키트는 예측이아니라 검출에 가까운 개념입니다.)

 


Recall (재현율) : 실제 양성인 것들 중 양성으로 예측한 비율

ex) 실제로 확진자인 사람을 확진자로 분류한 비율입니다.

실제 양성인 것 : TP, FN

양성으로 예측한 것: TP와 FP 

 

그런데 실제 양성인 것들(TP, FN) 중 양성으로 예측한 비율이므로 FP는 제외한다.

따라서,

 

Recall : TP / (TP + FN)

- 실제 감염된 사람은 7명인데 진단키트로 6명을 잡아낼때, 재현율은 6/7이다.

 

조화평균(Harmonic mean)


F1-Score을 다루기 전, 조화평균의 의의를 살펴봅시다.

조화평균은 평균적인 변화율을 구할 때 사용합니다.

 

조화평균: 주어진 수들의 역수의 산술평균의 역수 == 2ab / (a + b)

 

풀어 써보자!

주어진 수: a, b

주어진 수들의 역수: 1/a, 1/b

주어진 수들의 역수의 산술평균: (1/a + 1/b) / 2

주어진 수들의 역수의 산술평균의 역수 : 2 / (1/a + 1/b)

== 2ab / (a + b)

 

조화평균하면 대표적으로 떠오르는 예시가 하나 있습니다.

: 전체 거리의 절반을 40km/h로 달렸고, 나머지를 60km/h로 달렸다면 평균 속력은 얼마입니까?

이때 조화평균을 사용합니다.

 

2*40*60 / (40 + 60) == 48km/h 입니다.

 

Harmonic mean의 기하학적 접근


 

조화평균의 기하학적 의미

기하학적으로 봤을 때, 단순 평균이 아닌 작은 길이 쪽으로 치우치게 된, 그러면서 작은 쪽과 큰 쪽의 사이의 값을 가진 평균을 도출.

--> 큰 비중을 끼치는 bias가 줄어듦

 

둘(A나 B) 중 하나가 0에 가깝게 낮을 때, 기표에 그것이 잘 반영되도록, 다시 말해 두 지표를 모두 균형있게 반영하여 모델의 성능이 좋지 않다는 것을 잘 확인하기 위함입니다.

 

예를 들어 Recall과 Precision이 각각 1, 0.01을 가질 때, 산술평균을 내면 0.505, 즉 절반은 맞힌 것으로 보이지만, 조화평균을 내면 0.019가 됩니다. 극히 낮은 값을 잘 반영한 것으로 볼 수 있죠.

 

 

F1-score


F1-score은 Precision과 Recall의 조화평균으로 주로 분류 클래스 간 데이터가 심각한 불균형을 이루는 경우에 사용합니다. 

 

 

가장 상단부 표에 Relevant와 Retrival의 용어가 나왔습니다. 위의 식에서 rel은 실제 양성인 데이터, ret은 양성으로 예측한 데이터입니다.

 

조화평균을 사용하는 이유는 위에서 설명이 되어있고, 그 이유로 클래스 간 데이터가 심각한 불균형을 이룰 때 사용하기에 매우 적합합니다.

반응형

'Data analysis > etc' 카테고리의 다른 글

OpenCV-Python 명령어 정리 (1 ~ 15)  (0) 2022.03.20