[7.5 모델] 성능 비교와 시각화, 딱 보면 아는 핵심 노하우!
모델 성능 제대로 파악하기! (중학생 눈높이 설명)
이번 시간에는 우리가 만든 모델이 얼마나 똑똑한지 여러 가지 방법으로 확인하고, 그 결과를 그림으로 쉽게 이해하는 방법을 배울 거야.
왜 모델 성능을 봐야 할까?
우리가 모델을 만들고 학습시킨 다음에 그래프로 잘 되고 있는지 확인했잖아? 이제 마지막으로 궁금한 건 "그래서 이 모델, 진짜 좋은 모델 맞아?" 이거지. 이걸 판단하려면 모델 성능을 나타내는 여러 가지 지표들을 봐야 해. 오늘 강의의 목표가 바로 이거야!
파트 A: 분류 문제 (맞추는 문제)
먼저, 0 아니면 1처럼 둘 중 하나를 맞추는 이진 분류 문제부터 볼게.
1. 데이터 준비
- 유방암 데이터를 사용할 거야.
- 출력값은 0 또는 1로 나오겠지.
2. 모델 두 개 만들기
비교를 위해 모델 A (기본 모델)와 모델 B (드롭아웃 추가 모델) 두 개를 만들 거야. 어떤 모델이 더 나은지 비교해보는 게 중요해!
3. 성능 지표 비교하기
-
정확도 (Accuracy):
- 가장 쉬운 지표야. 전체 중에 몇 개를 맞췄는지 보여줘.
- 주의! 정확도가 비슷하다고 해서 모델 성능이 똑같다고 생각하면 안 돼. 더 많은 지표를 봐야 해!
-
혼동 행렬 (Confusion Matrix):
- 어디서 틀렸는지 보여주는 표야.
- 대각선: 정답을 맞춘 것들
- 대각선 밖: 틀린 것들
- 특히 FP (거짓 양성)와 FN (거짓 음성)을 봐야 해. 어떤 종류의 실수를 많이 하는지 한눈에 알 수 있어.
-
분류 리포트 (Classification Report):
- 여기서는 세 가지 중요한 지표를 볼 수 있어.
- 정밀도 (Precision): "양성이라고 예측했는데, 실제로 양성이었던 비율"
- 재현율 (Recall): "실제로 양성인데, 모델이 양성이라고 맞춘 비율"
- F1 점수 (F1 Score): 정밀도와 재현율의 균형을 맞춰주는 지표야.
- 정확도보다 훨씬 현실적인 성능 평가가 가능해.
- 여기서는 세 가지 중요한 지표를 볼 수 있어.
-
ROC 곡선 (ROC Curve) & AUC:
- ROC 곡선: 모델이 얼마나 잘 맞추는지 보여주는 그래프야. 대각선은 그냥 찍는 거랑 똑같고, 곡선이 위쪽으로 갈수록 좋은 모델이야.
- AUC: ROC 곡선 아래의 면적이야. 1에 가까울수록 좋고, 0.5에 가까우면 그냥 찍는 수준이야. 확률 예측의 전체적인 품질을 하나의 숫자로 보여줘.
4. 모델 A vs 모델 B 비교
- AUC가 더 큰 모델이 전반적으로 더 좋은 분류 성능을 가진다고 볼 수 있어.
- 이걸로 어떤 모델을 쓸지 더 합리적으로 판단할 수 있지.
- (예시에서) AUC가 더 큰 모델 A가 더 좋은 모델이야.
파트 B: 회귀 문제 (숫자 맞추는 문제)
이제 숫자를 얼마나 정확하게 맞추는지 보는 회귀 문제로 넘어가 볼게.
1. 모델 두 개 만들기
마찬가지로 R1 (모델 1)과 R2 (모델 2) 두 개의 모델을 만들어서 비교할 거야.
2. 성능 지표 비교하기
회귀에서는 주로 이 세 가지 지표를 많이 써.
- MAE (평균 절대 오차): 평균적으로 얼마나 틀렸는지 보여주는 가장 직관적인 지표야.
- RMSE (평균 제곱근 오차): 큰 오차를 더 크게 벌주는 방식이라, 이상치(튀는 값)에 민감해.
- R² (결정 계수): 1에 가까울수록 좋고, 0이면 평균적인 예측 수준이야.
이 세 가지 지표를 같이 보는 습관이 중요해!
3. 실제값 vs 예측값 비교 그래프
- 점들이 대각선 근처에 모여 있을수록 예측이 정확한 거야.
- 점들이 퍼져 있을수록 오차가 큰 거지.
- 이 그래프를 보면 모델이 어떤 상태인지 감을 잡는 데 큰 도움이 돼.
마지막 정리!
- 분류 문제에서 꼭 봐야 할 것: 혼동 행렬, 정밀도, 재현율, F1 점수, ROC 곡선 & AUC
- 회귀 문제에서 꼭 봐야 할 것: MAE, RMSE, R², 실제값 vs 예측값 그래프
- 핵심: 정확도 하나만 보면 안 돼! 문제 유형에 맞는 지표를 써야 해.
- 비교와 시각화를 통해 더 좋은 모델을 선택할 수 있어.
이제 우리는 모델을 평가할 줄 알게 되었어! 다음 시간에는 지금까지 배운 모든 내용을 합쳐서 실제 데이터에 딥러닝 모델을 적용해보는 마지막 시간을 가질 거야. 수고 많았어!