CatBoost 거리 예측 모델 분석 정리
Optuna + 교차검증 + 모델 비교까지 — 오늘 배운 것들
1. 시각화 — 어떻게 볼까?
산점도 변경
- 기존: x축 = 샘플 번호, 실제값/예측값을 따로 찍는 방식
- 변경: x축 = 실제값, y축 = 예측값, 기준선 y=x 추가
- 점 하나가 이미 (실제값, 예측값) 쌍이므로 같은 색을 써도 됨
Train / Test 구분
- Train(파랑) / Test(주황)으로 색상 구분
- 상단에 R², RMSE 지표 4개 표시
- 다크 테마 배경 적용
2. 모델 성능 해석
모델 Train R² Train RMSE Test R² Test RMSE
| CatBoost | 0.999 | 0.36km | 0.845 | 6.01km |
| RandomForest | 0.964 | 1.98km | 0.795 | 6.92km |
| XGBoost | 0.995 | 0.75km | 0.805 | 6.74km |
- CatBoost가 Test R² 0.845로 세 모델 중 가장 우수
- 단, 세 모델 모두 과적합 존재
- 단거리(0~20km)는 예측 안정적, 장거리(40km+)는 불안정
3. Train vs Test RMSE 차이 원인
핵심 원인
- 데이터 부족 + 과적합 동시 존재
RMSE 특성
- RMSE는 오차를 제곱하므로 이상치에 매우 민감
- Test 샘플이 적을수록 이상치 1~2개가 RMSE를 크게 끌어올림
예시:
Test 샘플 20개 중 이상치 1개(오차 20km)만 있어도
RMSE ≈ 4.57km로 폭등
학습 곡선 결과
- Train RMSE ≈ 0.5km (거의 평탄 → 훈련 데이터 암기)
- CV RMSE ≈ 5km (아직 수렴 안 됨 → 데이터 추가 시 성능 향상 여지 있음)
- 두 선의 간격이 유지 → 과적합의 증거
4. 하이퍼파라미터 튜닝 방법 비교
방법 방식 특징
| Grid Search | 전부 탐색 | 느리지만 확실, 파라미터 적을 때 유리 |
| Random Search | 랜덤 탐색 | 빠르지만 운에 의존 |
| Optuna | 베이지안 최적화 | 똑똑하게 탐색, 실무에서 많이 사용 |
- Optuna는 Grid Search의 하위 개념이 아닌 별개의 방법
- Optuna는 베이지안 최적화에 속함
- Grid Search는 점점 줄어드는 추세, Optuna가 현업 표준
5. 올바른 튜닝 순서
1. 데이터 준비 (Train/Test split)
2. Optuna 실행 (넓은 범위 탐색) + 내부에서 CV 돌아감
3. (선택) Grid Search로 세밀하게 좁히기 + 내부에서 CV 돌아감
4. 최종 파라미터로 전체 Train 데이터 학습
5. Test 데이터로 최종 성능 평가
교차검증(CV)의 위치
- CV는 독립적인 단계가 아님
- Optuna/Grid Search 내부에서 각 파라미터 조합의 성능을 평가하는 도구
- 매 조합마다 CV로 평가 → 가장 좋은 파라미터 선택
6. Grid Search 실용적 판단
Grid Search가 오래 걸리는 이유
파라미터 6개 × 각 3가지 = 729가지 조합
× cv=5 = 3,645번 학습
Grid Search 추천 여부
- 지금 상황에서는 추천하지 않음
- 이유: 파라미터 문제가 아니라 데이터 부족이 주 원인
- Optuna로 이미 충분히 튜닝됨
- Grid Search 추가 개선 효과: 약 0.1~0.3km 수준
7. 최종 결론 및 개선 방향
현재 문제
- 데이터 부족 (특히 장거리 40km+ 샘플)
- 과적합 (Train R² 0.999 vs Test R² 0.845)
- 이상치 샘플 1~2개가 Test RMSE를 끌어올리는 주범
개선 우선순위
- 장거리 데이터 추가 수집 (가장 효과적)
- 데이터 추가 후 Optuna 재실행
- 정규화 강화 (l2_leaf_reg ↑) 고려
- Grid Search는 데이터 충분해진 후 필요하면 고려
'내일배움캠프(QA,QC_5기)' 카테고리의 다른 글
| [내일배움캠프] QA/QC_5기 ( 61일차 ) (0) | 2026.06.05 |
|---|---|
| 내일배움캠프(QA,QC_5기)[내일배움캠프] QA/QC_5기 ( 60일차 ) (0) | 2026.06.04 |
| [내일배움캠프] QA/QC_5기 ( 58일차 ) (0) | 2026.06.01 |
| [내일배움캠프] QA/QC_5기 ( 57일차 ) (0) | 2026.05.29 |
| [내일배움캠프] QA/QC_5기 ( 56일차 ) (0) | 2026.05.28 |