[KT Aivle 3기 AI] 15일차. 머신러닝 (2) 모델 성능 평가 방법
KT Aivle School 3기 AI 15일차
- 강사 : 이장래 강사님
- 주제 : 모델 성능 평가 방법 및 기본 알고리즘 설명
- 내용 :
- 분류 모델과 회귀 모델의 성능 평가 방법 설명 및 실습
모델 성능 평가 방법
회귀 모델 성능 평가
- 오차를 줄여라!
- 예측 값이 실제 값에 가까울 수 록 좋은 모델 → 예측 값과 실제 값에 차이(=오차)로 모델 성능을 평가
- 회귀 모델 성능 평가 실습 코드
회귀 평가 지표
결정 계수 $R^2$ (R-Squared)
- 결정계수 : $R^2 = \frac{SSR}{SST} = 1 - \frac{SSE}{SST}$
- 전체 오차 중에서 회귀식이 잡아낸 오차 비율 (일반적으로 0 ~ 1 사이) (평균보다 안좋은 모델이라면 음수가 나올 수 있음)
- 값이 높을수록 좋은 결과 (평균 보다 더 좋은 정도)
- 여기서 쓰는 SSR의 R은 Regression, 만약 $ 1 - \frac{SSR}{SST} $로 표기 한다면 이 때의 R은 Residual
SST, SSR, SSE
- SST(Sum Squared Total) : $ SST = \sum_{i=1}^n (\mathbf{y}_i - \hat{\mathbf{y}})^2 $ 전체 오차 (최소한 평균보다는 성능이 좋아야 하니, 우리에게 허용된(?) 오차)
- SSR(Sum Squared Regression) : $ SSR = \sum_{i=1}^n (\hat{\mathbf{y}} - \bar{\mathbf{y}})^2 $ : 전체 오차 중에서 회귀식이 잡아낸 오차
- SSE(Sum Squared Error) : $ SSR = \sum_{i=1}^n (\hat{\mathbf{y}} - \mathbf{y}_i)^2 $ 전체 오차 중에서 회귀식이 여전히 잡아내지 못한 오차
- SST = SSE + SSR
분류 모델 성능 평가
- 정확도를 높여라!
- 예측 값이 실제 값과 많이 같을 수록 좋은 모델 → 정확히 예측한 비율로 모델 성능을 평가
- 분류 모델 성능 평가 실습 코드
Confusion Matrix
- 정확도(Accuracy) : 전체 중에 맞춘 것 = $\large \frac{TN + TP}{TN + FP + FN + TP} $
- 정밀도(Precision) : 1이라고 예측한 것 중에서 실제 정답인 비율 = $\large \frac{TP}{FP + TP} $
- 재현율(Recall, Sensitivity(민감도)) : 실제 1인 것을 1이라고 예측한 비율 = $\large \frac{TP}{FN + TP} $
- 특이도(Specificity) : 실제 Negative(TN + FP) 중에서 Negative로 예측한(TN) 비율 = $\large \frac{TN}{TN + FP} $
- F1-Score : 정밀도와 재현율의 조화평균 = $\large \frac{2 \times Precision \times Recall}{Precision + Recall}$
- 모든 걸 한 번에 볼 수 있는 코드 :
classification_report
1
2
3
from sklearn.metrics import classification_report
print(classification_report(y_test, y_pred))
This post is licensed under CC BY 4.0 by the author.