[NLP] accuracy? recall? precision?

오찬주·2025년 3월 29일

Study Log

목록 보기
9/15
post-thumbnail

자연어처리에서 모델의 성능을 평가할 때 accuracy,precision, recall 이라는 용어가 나온다.

특히

Stemming은 accuracy를 낮추지만 recall율을 lemmatization보다 높아지게 한다. precision은 낮아진다.

이러한 문장을 보고 더 헷갈려지기 시작했다.

언뜻보면 비슷해보이는 이 단어들이 각각 무엇을 의미하는지 알아보자

TP (True Positive): 모델이 '맞다'고 예측했고, 실제로도 '맞는 경우'
FN (False Negative): 실제 부정인데, 모델이 긍정으로 잘못 예측한 경우

Accuracy (정확도)

💡 모델이 전체 데이터에서 얼마나 정확하게 예측했는가?

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

Precision (정밀도)

💡 모델이 긍정(positive)이라고 예측한 것 중에서 실제로도 긍정인 비율

-> False Positive(FP, 실제는 부정인데 모델이 긍정으로 예측한 경우)를 줄이는 것이 중요할 때 사용됨

예시)

  • 스팸 필터: precision이 높다? -> 스펨으로 예측한 이메일이 실제로 스팸일 확률이 높다!
  • 암 진단: precision이 높다? -> 암이라고 진단한 사람이 실제로 암일 확률이 높다!

Recall (재현율)

💡 실제 긍정(Positive)인 것 중에서 모델이 잘 찾아낸 배율

-> 모델이 "놓치지 않고 잘 찾아낸 정도"를 나타냄
-> False Negative(FN, 실제로는 긍정인데 모델이 부정으로 예측한 경우)를 줄이는 것이 중요할 때 사용됨.

예시)

  • 스팸 필터: recall이 높다? -> 실제 스팸을 놓치지 않고 잘 찾아내는 것
  • 암 진단: recall이 높다? -> 실제 암환자를 놓치지 않고 잘 찾아내는 것

암 진단 모델을 예시로 보자 !

환자실제 암 여부모델 예측
환자 A암 (positive)암(TP)
환자 B암 (positive)정상(FN)
환자 C정상 (Negative)암(FP)
환자 A정상 (Negative)정상(TN)

📍 precision: 모델이 암이라고 예측한 것 중에서 실제로 암일 확률
📍 recall: 실제 암 환자 중에서 모델이 암이라고 잘 찾아낸 확률
📍 accuracy: 전체 환자 중에서 모델이 정확히 맞춘 비율

-> 암 환자를 놓치면(FN) 큰 문제가 됨! 따라서 암 진단 모델에서는 recall이 중요함

profile
프론트엔드 엔지니어를 희망합니다 :-)

0개의 댓글