F1 score은 다음과 같습니다
– 공식
F1=2∗(precision∗recall)/precision+recall
– F1 값 해석
여기서 간단하게 보면 F1 값이 높으면 precision과 recall 모두 좋은 결과를 보인다는 것을 이해할 수 있습니다. 즉 하나의 값으로 2가지 정보를 유추할 수 있는 것이죠.
그러나 F1 값이 낮으면 false positive가 문제가 있는 것인지 false negative가 문제인지는 정확히 알 수가 없기 때문에 이 경우는 디버깅이 필요합니다.
여기서 TP (true positive), FP (false positive), FN (false negative), TN (true negative), precision, recall에 대해서도 같이 설명드리겠습니다.
TP는 내가 1로 예측을 했는데 정답도 1인 경우, 즉 양성이라고 한 예측이 정답과 일치하는 경우에 TP입니다. 진짜 true로 양성 positive라고 한 경우인 것이죠
FP는 내가 1로 예측을 했지만 정답은 0인 경우, 즉 양성이라고 한 예측이 정답과 불일치하는 경우가 FP입니다. 가짜 false로 양성 positive라고 한 경우인 것이죠
FN은 내가 0으로 예측을 했지만 정답은 1인 경우, 즉 음성이라고 한 예측이 정답과 불일치하는 경우가 FN입니다. 가짜 false로 음성 negative라고 한 경우인 것이죠.
TN는 내가 0으로 예측을 했는데 정답도 0인 경우, 즉 음성이라고 한 예측이 정답과 일치하는 경우에 TN입니다. 진짜 true로 음성 negative라고 한 경우인 것이죠
precision=TP/(TP+FP)
recall=TP/(TP+FN)
여기서 precision의 의미는 양성 positive라고 판단한 경우 중에 진짜 true 양성 positive인 확률입니다. 즉 정확도라고 보시면 됩니다.
recall은 실제로 양성 positive 케이스들에서 진짜 true 양성 positive로 예측에 성공한 확률입니다. 즉 내가 예측했어야하는 케이스들에서 놓치지 않고 예측해서 진짜를 잡아낸 경우라고 보시면 됩니다.