머신러닝 오류 이해하기: Accuracy, Precision, Recall 및 F1 Score

발행: (2025년 12월 17일 오전 03:59 GMT+9)
9 min read
원문: Dev.to

Source: Dev.to

머신러닝 모델은 숫자로 평가되는 경우가 많지만, 많은 초보자(그리고 실무자조차도) 이 그 숫자가 실제로 의미하는 바를 오해합니다. 95 % 정확도를 보이는 모델이라 할지라도 실제 상황에서는 쓸모없을 수 있습니다.

이번 포스트에서는 다음 내용을 직관적으로 풀어보고, 인터뷰나 프로젝트에서 자신 있게 활용할 수 있는 예시를 제공합니다.

  • 머신러닝에서 발생하는 오류 유형
  • 혼동 행렬 (Confusion matrix)
  • 정확도 (Accuracy)
  • 정밀도 (Precision)
  • 재현율 (Recall)
  • F1 점수 (F1 Score)

1️⃣ Types of Errors in Machine Learning

In a classification problem, predictions fall into four categories:

예측 양성예측 음성
실제 양성True Positive (TP)False Negative (FN)
실제 음성False Positive (FP)True Negative (TN)

🔴 False Positive (Type I Error)

Model predicts Positive, but the actual result is Negative

예시: 이메일이 스팸으로 표시되었지만 실제로는 스팸이 아님.

🔵 False Negative (Type II Error)

Model predicts Negative, but the actual result is Positive

예시: 의료 검사가 질병 없음이라고 판정했지만 실제로는 환자가 질병을 가지고 있음.

These errors directly impact evaluation metrics.

2️⃣ 혼동 행렬 (기초)

혼동 행렬은 예측 결과를 요약합니다:

                Predicted
               +      -
Actual +      TP     FN
Actual -      FP     TN

모든 지표는 이 표에서 파생됩니다.

3️⃣ 정확도

📌 정의

정확도는 모델이 정답을 맞힌 비율을 측정합니다.

📐 수식

[ \text{Accuracy} = \frac{TP + TN}{TP + FP + FN + TN} ]

❗ 정확도와 관련된 문제

정확도는 불균형 데이터셋에서는 오해를 불러일으킬 수 있습니다.

예시

  • 정상 환자 99명
  • 질병이 있는 환자 1명

모델이 모든 사람에 대해 질병 없음이라고 예측한다면:

[ \text{Accuracy}= \frac{99}{100}=99% ]

높은 정확도에도 불구하고 모델은 위험합니다. → 정확도만으로는 충분하지 않다.

4️⃣ Precision

📌 정의

예측된 양성 중 실제 양성인 비율은?

📐 공식

[ \text{Precision} = \frac{TP}{TP + FP} ]

🎯 언제 Precision에 집중해야 할까?

False Positive(거짓 양성)의 비용이 클 때.

예시

  • 스팸 탐지
  • 사기 탐지

정당한 경우를 잘못 플래그하고 싶지 않다.

5️⃣ Recall (민감도)

📌 정의

전체 실제 양성 중 모델이 올바르게 식별한 비율은?

📐 수식

[ \text{Recall} = \frac{TP}{TP + FN} ]

🎯 언제 Recall에 집중해야 할까?

거짓 음성이 위험할 때.

예시

  • 암 진단
  • 사고 감지

양성 사례를 놓치면 심각한 결과를 초래할 수 있습니다.

6️⃣ 정밀도 ↔ 재현율 트레이드‑오프

정밀도를 높이면 일반적으로 재현율이 감소하고, 그 반대도 마찬가지입니다.

시나리오우선순위
스팸 필터정밀도
질병 진단재현율
사기 탐지재현율

이 트레이드‑오프는 F1 점수로 이어집니다.

7️⃣ F1 Score

📌 정의

정밀도와 재현율의 조화 평균.

📐 공식

[ \text{F1} = 2 \times \frac{\text{Precision} \times \text{Recall}}{\text{Precision} + \text{Recall}} ]

✅ 왜 F1 점수를 사용하나요?

  • 정밀도와 재현율의 균형을 맞춤
  • 불균형 데이터셋에 잘 작동
  • 극단적인 값에 패널티 부여 (정밀도나 재현율 중 하나가 낮으면 F1이 급격히 감소)

8️⃣ Summary Table

지표가장 적합한 경우초점
정확도데이터가 균형 잡힌 경우전체 정확도
정밀도위양성 비용이 클 때예측 품질
재현율위음성 비용이 클 때탐지 완전성
F1 점수데이터 불균형일 때균형 잡힌 성능

9️⃣ 실제 사례 연구

지표를 이해하는 데는 실제 문제와 연결시킬 때 더 명확해집니다. 아래는 흔히 면접에서 다루어지는 사례 연구들입니다.

🏥 사례 연구 1: 질병 탐지 (암 / COVID)

  • 시나리오: 모델이 환자가 질병을 가지고 있는지 예측합니다.
  • 중요 오류: False Negative – 실제로 환자가 아픈데 건강함으로 예측하는 경우.
  • Recall이 더 중요한 이유: 아픈 환자를 놓치면 치료가 지연되고 생명이 위험해집니다. 일부 오경보(FP)는 허용될 수 있습니다.

주요 지표: Recall

💳 사례 연구 2: 신용카드 사기 탐지

  • 시나리오: 모델이 사기 거래를 식별합니다.
  • 중요 오류: False Negative – 사기가 정상 거래로 표시되는 경우.
  • 트레이드오프: FP가 너무 많으면 고객이 불편해하고, FN이 너무 많으면 재정적 손실이 발생합니다.

최적 지표: F1 Score (FP와 FN 비용을 균형 있게 고려)

📧 사례 연구 3: 스팸 이메일 탐지

  • 시나리오: 이메일을 스팸 또는 비스팸으로 분류합니다.
  • 중요 오류: False Positive – 중요한 이메일이 스팸으로 표시되는 경우.
  • Precision이 중요한 이유: 사용자가 중요한 이메일(채용 제안, OTP, 청구서 등)을 놓칠 수 있습니다.

주요 지표: Precision

🚗 사례 연구 4: 자율 주행 (보행자 탐지)

  • 시나리오: 카메라와 센서 데이터를 이용해 보행자를 탐지합니다.
  • 중요 오류: False Negative – 보행자를 탐지하지 못함.
  • Recall이 중요한 이유: 한 명이라도 보행자를 놓치면 치명적일 수 있습니다.

주요 지표: Recall

🏭 사례 연구 5: 제조 결함 탐지

  • 시나리오: 조립 라인에서 결함이 있는 제품을 탐지합니다.
  • 중요 오류는 상황에 따라 다름:
    • FP가 높으면 → 폐기물 및 비용 증가
    • FN이 높으면 → 결함 제품이 고객에게 전달
  • 균형 잡힌 접근법: Precision과 Recall을 모두 사용합니다.

최적 지표: F1 Score

🔚 최종 생각

절대 정확도만을 맹신하지 마세요. 항상 다음을 물어보세요:

  • 어떤 오류(FP 또는 FN)가 더 위험한가?
  • 내 데이터셋은 불균형인가?
  • 거짓 양성 대비 거짓 음성의 실제 비용은 얼마인가?

이러한 지표를 이해하면 어떤 문제든 올바른 평가 전략을 선택할 수 있습니다.

ics는 단순히 모델을 만드는 사람이 아니라 더 나은 ML 엔지니어가 되도록 도와줍니다.

도움이 되었다면, 여러분이 좋아하는 ML 함정을 공유하거나 댓글로 남겨 주세요!

Back to Blog

관련 글

더 보기 »

⚠️ 머신러닝에서 데이터 누수

현실 세계 ML 시스템을 망치는 조용한 정확도 파괴자 ML 엔지니어링 실패 시리즈 파트 2 대부분의 머신러닝 초보자들은 모델 선택에 집착한다...