머신러닝 실습 4회차

3eo·2026년 2월 19일

분류 모델 평가지표

  1. 정확도의 함정 (불균형 데이터에서 착시)
  2. Confusion Matrix : 무엇을 많이 틀렸는가
  3. 정밀도, 재현율, F1
  4. 임계값을 바꾸면 지표가 어떻게 달라지는가
  5. ROC 곡선, AUC, PR 곡선(AP) : 전체 임계값에서의 분류력 요약

평가지표를 다루는 이유

정확도만 보면 안 되는 이유

정확도가 높다고 무조건 좋은 모델링이 아님. 무엇을 맞히고 무엇을 틀렸는지 중요

지표 요약

정확도(Accuracy)의 함정

불균형 데이터 : 한 클래스가 극소수인 상황 (e.g. 사기, 암 환자, 스팸)
-> "모두 음성(정상인 경우, 일반적인 상황)"으로 예측 시 Accuracy가 높아도, 불균형 데이터의 양상을 전혀 찾지 못하면 의미 없음

Positive(양성) : 내가 찾고 싶은 대상, 관심 있는 대상
-> 앞으로 나올 평가기준은 positive를 기준으로 함.

Negative(음성) : 비교 대상
e.g. positive = 암 환자, negative = 건강한 사람

※ Accuracy = 전체 성적표(positive든 negative든 전부 포함) --> 진짜 알고 싶은 관심 대상에 대한 디테일을 놓칠 수 있음
그 외 Recall, Precision, F1, ROC, PR = positive 중심 성적표

혼동행렬 ; Confusion Matrix

TN = 324 : 음성(0)을 음성으로 맞힘 -> 많음 (좋음)
FP = 0 : 음성을 양성으로 틀림 -> 없음
FN = 36 : 양성(1)을 음성으로 틀림 -> 전부! (문제)
TP = 0 : 양성을 양성으로 맞힘 -> 없음 (큰 문제)

평가지표 공식

정밀도(Precision) : 양성이라고 했는데 정말 양성이 맞나? 모델이 positive라고 예측한 것 중 실제 positive의 비율 --- 내가 던진 예측이 헛발질은 아니었는가?
높으면 오탐(FP)이 적음
e.g. 스팸 필터가 정상 메일을 스팸으로 잘못 분류하면 안 됨

재현율(Recall) : 진짜 양성 중 얼마나 찾았나? 실제 positive 중에서 모델이 positive라고 예측한 비율 --- 내가 관심있는 대상을 놓치지 않았는가?
높으면 누락(FN)이 적음
e.g. 암 진단에서 암 환자를 놓치면 안 됨

※ Recall과 Precision은 trade-off 관계. 하나를 무리하게 올리면 다른 하나가 떨어지기 쉬움

F1 : Precision과 Recall의 조화평균
-> 둘 중 하나가 0이면 F1도 0에 가까워짐 (균형을 강하게 요구)

  • 업무에 따른 중요도에 따라 선택 : 무엇을 틀리면 더 큰 문제인가?를 우선적으로 생각하기

임계값

보통 0.5로 설정

확률 >= 임계값 : 양성(1)
확률 < 임계값 : 음성(0)

임계값을 낮추면? 더 많이 양성으로 잡음(누락 ↓, 오탐 ↑ -> Recall↑)
임계값을 높이면? 확실할 때만 양성(오탐 ↓, 누락 ↑ -> Precision↑)
임계값 조절 = 정책 선택

0개의 댓글