본문 바로가기
수학&통계학

모형 평가 지표 (회귀지표, 분류지표, 비지도학습 지표)

by 코스믹구구 2026. 5. 13.
728x90
머신러닝 모델을 만들었다면, "이 모델이 잘 작동하는가?"를 객관적으로 측정해야 한다.
이때 사용하는 것이 평가 지표(Metrics)다.
문제 유형에 따라 사용하는 지표가 완전히 다르며, 같은 지표라도 상황에 따라 해석이 달라진다.
이번 글에서는 회귀 문제분류 문제, 그리고 비지도학습(군집화)의 평가 지표를 정리한다.

1. 모형 평가 지표란?

평가 지표는 단순히 "점수"가 아니다. 구체적으로 두 가지 목적으로 활용된다.

  • 모델 선택: 여러 모델이나 하이퍼파라미터 조합 중 더 나은 것을 고를 때
  • 성능 모니터링: 배포 이후에도 실제 환경에서 모델이 제대로 작동하는지 지속 확인할 때

지도학습에서는 정답(label)이 있어서 예측값과 실제값을 직접 비교할 수 있다. 비지도학습은 정답이 없어서 군집 내 응집도, 군집 간 거리 등 간접적 지표를 사용한다.

💡 좋은 지표 선택이 중요한 이유
어떤 지표를 최적화하느냐에 따라 모델의 학습 방향이 달라진다.
예를 들어 암 진단 모델에서 정확도(Accuracy)를 높이는 데만 집중하면 암 환자를 정상으로 잘못 분류하는 모델이 만들어질 수 있다. 문제의 목적에 맞는 지표를 선택해야 한다.

 

2. 회귀 문제의 평가 지표

회귀(Regression)는 연속적인 수치를 예측하는 문제다. 집값, 온도, 매출액 예측이 대표적이다. 평가는 실제값(y)과 예측값(ŷ) 사이의 오차(잔차): e = y − ŷ를 기반으로 한다.

① MAE (Mean Absolute Error)
평균 절대 오차
(1/n) Σ |yᵢ − ŷᵢ|
오차의 절댓값을 평균한 값. 단위가 원래 데이터와 같아서 직관적으로 해석하기 쉽다.
이상치에 상대적으로 덜 민감하다.
② MAPE (Mean Absolute Percentage Error)
평균 절대 백분율 오차
(1/n) Σ |yᵢ − ŷᵢ| / |yᵢ|
오차를 실제값으로 나눠 비율(%)로 표현. 단위가 달라도 비교 가능하다.
실제값이 0에 가까우면 분모가 0이 되어 계산 불가 문제 발생.
③ MSE (Mean Squared Error)
평균 제곱 오차
(1/n) Σ (yᵢ − ŷᵢ)²
오차를 제곱해서 평균. 큰 오차에 더 큰 패널티를 준다.
이상치에 민감하며, 단위가 원본의 제곱이라 직관적 해석이 어렵다.
④ RMSE (Root Mean Squared Error)
평균 제곱근 오차
√((1/n) Σ (yᵢ − ŷᵢ)²)
MSE의 제곱근. 단위가 원래 데이터와 같아 해석이 용이하다.
MSE의 이점(큰 오차 패널티)을 유지하면서 단위를 복원한다.
⑤ R² (R-squared, 결정계수, Coefficient of Determination)
R² = Σ(ŷᵢ − ȳ)² / Σ(yᵢ − ȳ)²
다른 지표들과 달리 오차가 아닌 분산의 비율을 사용한다. 전체 관측치 변동(분산) 중 모델이 설명하는 변동의 비율이다. 1에 가까울수록 모델이 데이터를 잘 설명하고, 0이면 아무것도 설명 못한다. 음수도 가능하며 이는 단순 평균보다 못한 모델을 의미한다.
💡 R²의 직관적 이해
분자 Σ(ŷᵢ − ȳ)²: 모델의 예측값이 전체 평균에서 얼마나 멀리 떨어져 있는지 (모델이 설명하는 변동)
분모 Σ(yᵢ − ȳ)²: 실제값이 전체 평균에서 얼마나 멀리 떨어져 있는지 (전체 변동)
→ "전체 변동 중 내 모델이 설명하는 비율"이 R²다.
지표 단위 이상치 민감도 특징 범위
MAE 원본과 동일 낮음 직관적, 이상치에 강건 0 ~ ∞
MAPE % (무차원) 낮음 비율 비교 가능, y=0 주의 0 ~ ∞
MSE 원본² 높음 큰 오차에 패널티, 미분 용이 0 ~ ∞
RMSE 원본과 동일 높음 MSE + 단위 복원 0 ~ ∞
무차원 중간 설명력 비율, 비교 용이 −∞ ~ 1

 

반응형

 

3. 분류 문제의 평가 지표

분류(Classification)는 데이터를 범주로 나누는 문제다. 분류 모델은 각 범주에 속할 확률을 계산하고, 가장 높은 확률의 범주로 분류한다. 평가의 기반은 오차 행렬(Confusion Matrix, 혼동 행렬)이다.

오차 행렬 (Confusion Matrix)

  예측 범주
Positive (양성) Negative (음성)
실제
범주
Positive (양성) TP
True Positive
맞게 양성 예측
FN
False Negative
음성으로 잘못 예측
Negative (음성) FP
False Positive
양성으로 잘못 예측
TN
True Negative
맞게 음성 예측
💡 TP/FP/FN/TN 외우는 법
앞 글자: T(True = 맞음) / F(False = 틀림) — 예측이 맞았는가?
뒷 글자: P(Positive = 양성) / N(Negative = 음성) — 무엇으로 예측했는가?

TP: 양성이라 예측했고, 실제로도 양성 (맞음)
FP: 양성이라 예측했는데, 실제는 음성 (틀림) ← "허위 양성"
FN: 음성이라 예측했는데, 실제는 양성 (틀림) ← "허위 음성"
TN: 음성이라 예측했고, 실제로도 음성 (맞음)

분류 평가 지표들

① 정확도 (Accuracy)
(TP + TN) / (TP + FP + FN + TN)
전체 관측치 중 올바르게 분류한 비율. 가장 직관적이지만 클래스 불균형 시 왜곡된다.
⚠️ 암 환자 1%, 정상 99%인 데이터에서 모두 정상으로 예측하면 정확도 99%지만 쓸모없는 모델
② 오분류율 (Error Rate)
(FP + FN) / (TP + FP + FN + TN)
전체 중 잘못 분류한 비율. 1 − Accuracy와 동일하다.
③ 민감도 (Sensitivity) = 재현율 (Recall) = TPR (True Positive Rate)
TP / (TP + FN)
실제 Positive 중 Positive로 올바르게 예측한 비율.
"실제 양성 환자를 얼마나 잘 잡아내는가?" → 양성을 놓치면 안 되는 상황에서 중요.
💡 FN(놓친 양성)이 많으면 재현율이 낮아진다. 예) 암 진단, 보안 위협 탐지
④ 정밀도 (Precision)
TP / (TP + FP)
Positive로 예측한 것 중 실제 Positive인 비율.
"양성이라 했을 때 얼마나 믿을 수 있는가?" → 잘못 양성 예측이 비싼 상황에서 중요.
💡 FP(허위 양성)가 많으면 정밀도가 낮아진다. 예) 스팸 필터, 마케팅 대상 선정
⑤ F1 Score
2TP / (2TP + FP + FN)
재현율(Recall)과 정밀도(Precision)의 조화 평균.
두 지표 사이의 균형을 측정하며, 클래스 불균형 데이터에서 정확도보다 더 유용하다.
💡 조화 평균 = 2 × (Recall × Precision) / (Recall + Precision)
⑥ FPR (False Positive Rate)
FP / (FP + TN)
실제 Negative 중 Positive로 잘못 예측한 비율. ROC 곡선의 x축이 된다.
💡 재현율 vs 정밀도 — 어떤 게 더 중요한가?
이 둘은 트레이드오프 관계다. 분류 임계값을 낮추면 재현율↑ 정밀도↓, 높이면 반대가 된다.

재현율이 더 중요한 경우: 암 진단, 코로나 검사, 금융 사기 탐지
→ 양성을 놓치는 것(FN)이 더 위험

정밀도가 더 중요한 경우: 이메일 스팸 필터, 법원 유죄 판결
→ 잘못 양성 판단하는 것(FP)이 더 위험

⑦ ROC 곡선 (Receiver Operating Characteristic Curve)

분류 임계값(threshold)을 0부터 1까지 바꿔가면서 x축에 FPR, y축에 TPR(재현율)을 점으로 찍어 만든 곡선이다.

  • 임계값 = 0: 모든 관측치를 Positive로 예측 → TPR=1, FPR=1 → 점 (1,1)
  • 임계값 = 1: 모든 관측치를 Negative로 예측 → TPR=0, FPR=0 → 점 (0,0)
  • 임계값을 0→1로 올리면서 (1,1)에서 (0,0)으로 궤적을 남긴다
💡 AUROC (Area Under ROC) — ROC 곡선의 아래 면적
AUROC = 1: 완벽한 분류기 (이상적)
AUROC = 0.5: 랜덤 분류기 (아무 의미 없음)
AUROC < 0.5: 랜덤보다 나쁨 (예측과 반대로 하면 더 좋음)

단일 숫자로 모델 성능을 요약하므로 모델 비교에 자주 사용된다. 임계값과 무관하게 모델 전체 성능을 평가한다는 장점이 있다.

 

4. 비지도학습 — 군집화 평가 지표

비지도학습은 정답 레이블이 없어서 예측값과 실제값을 직접 비교할 수 없다. 대신 군집화의 품질 자체를 평가하는 방식을 사용한다.

① 실루엣 계수 (Silhouette Coefficient)

군집화 결과에서 각 관측치가 자신의 군집에 얼마나 잘 속해 있는지를 측정하는 지표다.

  • a: 같은 군집 내 다른 관측치들과의 평균 거리 (작을수록 좋음 — 군집 내 응집)
  • b: 가장 가까운 다른 군집의 관측치들과의 평균 거리 (클수록 좋음 — 군집 간 분리)
s = (b − a) / max(a, b)
s ∈ [−1, +1]
+1에 가까울수록: 자신의 군집에 잘 속하고, 다른 군집과 잘 분리됨 (좋은 군집화)
0에 가까울수록: 군집 경계에 위치
−1에 가까울수록: 잘못된 군집에 배정됨

개별 관측치의 실루엣 계수를 평균한 값으로 전체 군집화 품질을 평가하며, 최적 군집 수(k)를 결정하는 데도 활용한다.

② 군집 간 거리 및 군집 내 거리

  • 군집 내 거리(Intra-cluster distance): 같은 군집 내 관측치들 간의 거리.
    작을수록 군집 내 응집도가 높다 = 좋은 군집화.
  • 군집 간 거리(Inter-cluster distance): 다른 군집 간의 거리.
    클수록 군집들이 잘 분리되어 있다 = 좋은 군집화.

이상적인 군집화: 군집 내 거리는 최소, 군집 간 거리는 최대

💡 엘보우 방법(Elbow Method)과 함께 활용
k-means에서 군집 수 k를 결정할 때 주로 두 가지 방법을 쓴다.
엘보우 방법: k에 따른 군집 내 거리 합(SSE)을 그래프로 그려 "팔꿈치" 모양 꺾이는 지점의 k 선택
실루엣 방법: k에 따른 평균 실루엣 계수를 비교해 가장 높은 k 선택

 

5. 문제 유형별 지표 선택 가이드

문제 유형 우선 고려 지표 상황별 선택
회귀 (이상치 적음) RMSE 큰 오차에 패널티 원하면 RMSE, 아니면 MAE
회귀 (이상치 많음) MAE 이상치에 강건한 MAE 권장
회귀 (다른 변수와 비교) MAPE 또는 R² 단위 다를 때 MAPE, 설명력 볼 때 R²
이진 분류 (균형 데이터) Accuracy 간단히 비교할 때
이진 분류 (불균형 데이터) F1 Score, AUROC 클래스 비율 차이가 클수록 AUROC 권장
양성 놓치면 안 될 때 Recall (재현율) 암 진단, 보안 탐지
잘못 양성 판단 위험할 때 Precision (정밀도) 스팸 필터, 사법 판단
군집화 (비지도) 실루엣 계수 군집 수 결정 시 엘보우법 병행

📌 핵심 정리

  • MAE: 절댓값 평균 오차. 직관적, 이상치에 강건
  • MAPE: 비율(%) 오차. 단위 달라도 비교 가능. y=0 주의
  • MSE: 제곱 오차 평균. 큰 오차 패널티. 단위가 제곱
  • RMSE: MSE의 제곱근. 단위 복원 + 큰 오차 패널티
  • : 모델 설명력 비율. 1에 가까울수록 좋음. 음수 가능
  • TP/FP/FN/TN: 앞=예측 맞음 여부, 뒤=예측 범주
  • Accuracy: (TP+TN)/전체. 불균형 데이터에 취약
  • Recall(재현율): TP/(TP+FN). 양성을 놓치지 않는 능력
  • Precision(정밀도): TP/(TP+FP). 양성 예측의 신뢰도
  • F1 Score: Recall과 Precision의 조화 평균. 불균형 데이터에 유용
  • ROC/AUROC: 임계값에 무관한 전체 성능. 1에 가까울수록 좋음
  • 실루엣 계수: 군집 내 응집도 vs 군집 간 분리도. −1~+1
728x90
반응형