자연어처리에서 모델의 성능을 평가할 때 accuracy,precision, recall 이라는 용어가 나온다.
특히
Stemming은 accuracy를 낮추지만 recall율을 lemmatization보다 높아지게 한다. precision은 낮아진다.
이러한 문장을 보고 더 헷갈려지기 시작했다.
언뜻보면 비슷해보이는 이 단어들이 각각 무엇을 의미하는지 알아보자
TP (True Positive): 모델이 '맞다'고 예측했고, 실제로도 '맞는 경우'
FN (False Negative): 실제 부정인데, 모델이 긍정으로 잘못 예측한 경우
💡 모델이 전체 데이터에서 얼마나 정확하게 예측했는가?

-> 전체 예측 중에서 맞춘 비율을 의미한다.
하지만, target이 편향되어 있는 등의 경우에는 정확도만으로는 모델의 성능을 파악하기 어렵다. 모델 성능 평가를 위해 precision(정밀도)과 recall(재현율)을 확인하는 것이 좋다.
💡 모델이 긍정(positive)이라고 예측한 것 중에서 실제로도 긍정인 비율

-> False Positive(FP, 실제는 부정인데 모델이 긍정으로 예측한 경우)를 줄이는 것이 중요할 때 사용됨
예시)
💡 실제 긍정(Positive)인 것 중에서 모델이 잘 찾아낸 배율

-> 모델이 "놓치지 않고 잘 찾아낸 정도"를 나타냄
-> False Negative(FN, 실제로는 긍정인데 모델이 부정으로 예측한 경우)를 줄이는 것이 중요할 때 사용됨.
예시)
| 환자 | 실제 암 여부 | 모델 예측 |
|---|---|---|
| 환자 A | 암 (positive) | 암(TP) |
| 환자 B | 암 (positive) | 정상(FN) |
| 환자 C | 정상 (Negative) | 암(FP) |
| 환자 A | 정상 (Negative) | 정상(TN) |
📍 precision: 모델이 암이라고 예측한 것 중에서 실제로 암일 확률
📍 recall: 실제 암 환자 중에서 모델이 암이라고 잘 찾아낸 확률
📍 accuracy: 전체 환자 중에서 모델이 정확히 맞춘 비율
-> 암 환자를 놓치면(FN) 큰 문제가 됨! 따라서 암 진단 모델에서는 recall이 중요함