일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- numpy
- depthwise convolution
- 인접행렬
- 1x1 Convolution
- outer join
- 엔터티
- dfs
- 데이터모델링
- 백준
- BFS
- CROSS JOIN
- pytorch
- mobilenet
- SQLD 후기
- Two Pointer
- feature map
- bottleneck
- 정규화
- dp
- 식별자
- 인접리스트
- 연산량 감소
- skip connection
- 그래프
- SQL
- get_dummies()
- Depthwise Separable Convolution
- Inductive Bias
- resnet
- SQLD
- Today
- Total
SJ_Koding
Precision(정밀도)와 Recall(재현율)의 의미와 예시 그리고 F1-score에 대하여. 본문
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 |
---|