Skip to content

SNU-Bigdata-Fintech-AI/KR-WIldfireData-MachineLearning

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

128 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🔥 Wildfire Duration Prediction (산불 지속 시간 예측)


📌 프로젝트 소개

  • 이 프로젝트는 한국 산불 데이터를 활용해 산불 진압 소요 시간(fire_supesn_hr) 을 예측하는 머신러닝 모델을 개발하는 것을 목표로 합니다.
  • 여러 선형·트리 기반 모델을 적용하고 성능을 비교하여, 실제 재난 대응 의사결정에 도움을 줄 수 있는 지표를 제시합니다.

📂 데이터셋 구성

  • 🧑🏻‍🚒 소방안전 빅데이터 플랫폼 (Link)

    • 화재 현황_2019_전국.csv ~ 화재 현황_2023_전국.csv 통합
    • FCLT_PLC_MCLSF_NM == '산불' 조건으로 산불 데이터만 추출
    • Target: fire_supesn_hr (산불 진압 소요시간)
  • 기상 데이터 (ERA5-Land, ECMWF)

    • 시간별 데이터를 일 단위로 집계 (평균, 최저/최고)
    • 기온, 이슬점, 풍속·풍향, 강수량, 증발산, 일사량 등 변수 활용
  • 🌳 산림 데이터 (산림청, 2020 산림기본통계)

  • 행정구역별 산림면적, 산림율, 임목축적, 평균 임목축적 등 변수 활용


⚙️ 분석 및 모델링 흐름

  1. 데이터 분리
    • Train:Test = 8:2 (Train ≈ 2,846건, Test ≈ 712건)
  2. 모델링
    • 📈 선형 모델: OLS, Ridge, Lasso
    • 🌲 트리 기반 모델: RandomForest, LightGBM, XGBoost
  3. 검증 방식
    • Train 데이터로 5-Fold CV + 하이퍼파라미터 튜닝
    • 최적 파라미터로 Train 전체 재학습
  4. 테스트 평가
    • 로그 스케일: RMSE, MAE, R²
    • 원 단위 (분): RMSE, MAE, R² (역변환 값)
    • ✅ 실제 적용 해석은 원 단위 기준
  5. 모델 성능 해석
    • 로그 RMSE ≈ 0.92, 로그 MAE ≈ 0.70
    • 원 단위 RMSE ≈ 320분 (약 5시간 20분), MAE ≈ 108분 (약 1시간 48분)
    • 로그 R² ≈ 0.28, 원 단위 R²는 거의 0 (극단치 영향)
  6. 특성 중요도 확인
    • 📈 선형 모델: 회귀 계수 기반
    • 🌲 트리 모델: feature_importances_ 기반

🔎 주요 인사이트

  • 모델별 성능 차이는 크지 않음 → 데이터 한계 영향
  • 원 단위 오차가 큰 것은 극단치와 heavy-tail 분포 영향
  • 평균적인 예측은 가능하나 개별 사례 정밀도는 낮음

🚀 개선 제안

  • 데이터 확대 (지역·시간적 확장, 표본 수 증가)
  • 이상치 처리 및 heavy-tail 완화 (log 외 변환 검토)
  • 오버샘플링 기법 적용 (SMOTE 등, 극단치/희소 구간 보정)
  • 다양한 모델 시도 (ex. KNN 추가 실험)

About

머신러닝 수업의 미니 프로젝트입니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •