내일배움캠프(QA,QC_5기)

[내일배움캠프] QA/QC_5기 ( 59일차 )

lshxkwh 2026. 6. 2. 19:45

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를 끌어올리는 주범

개선 우선순위

  1. 장거리 데이터 추가 수집 (가장 효과적)
  2. 데이터 추가 후 Optuna 재실행
  3. 정규화 강화 (l2_leaf_reg ↑) 고려
  4. Grid Search는 데이터 충분해진 후 필요하면 고려