캐글필사 - Enefit

Sooin Yoon·2025년 3월 16일

Overview

: 이 프로젝트는 에너지 소비 및 생산 데이터에 대해 예측 모델을 구축하는 것
모델은 주어진 훈련데이터를 기반으로 에너지 소비량 또는 에너지 생산량을 예측하는 모델을 학습
target : 에너지 소비/생산 값이고 모델은 주어진 시간대 및 추가적인 외부 특성(가격, 날씨 등)을 고려하여 예측을 수행함

Evaluation

: Mean Absolute Error(MAE)를 사용.
MAE는 예측된 값과 실제 값 간의 절대적차이를 평균한 값으로, 값이 작을수록 모델의 예측 정확도가 높음

EDA

:데이터셋을 시각적으로 분석하고 변수들 간의 상관 관계를 파악하여 모델링에 유용한 정보를 도출함

  • 데이터 분포 확인:
    각 열의 분포와 결측값을 확인함
    히스토그램, 박스 플롯 등을 사용하여 변수들의 분포와 이상치를 확인함

상관 분석:
MAE와 다른 변수들 간의 상관 관계를 파악

시간 분석:
연도, 월, 일, 시간 등을 기준으로 시간대별 에너지 소비/생산 패턴을 분석

특성 간의 관계:
가격, 날씨 데이터, 에너지 생산 등의 변수를 함께 고려하여 상호작용이 있는지 확인함

dataset

  • county : 지역코드, 숫자로 지역을 식별
  • is_business : 해당데이터가 사업체(1)인지, 가정(0)인지를 나타냄
  • product_type : 에너지 관련 제품 유형(태양광, 베터리)
  • target : 예측해야 하는 목표변수(에너비소비/생산량), 일부 값이 결측
  • is_consumption : 에너지 소비 여부(1: 소비, 0:생산), 일부 값이 결축
  • datetime : 데이터가 기록된 날짜 및 시간, 시계열 분석에 필수적인 변수, 일부 값이 결측
  • data_block_id : 특정 데이터 블록(군집) ID, 데이터가 그룹화된 단위로 보임, 일부 값이 결측
  • row_id : 개별 행을 구분하는 고유 ID
  • prediction_unit_id : 예측 대상 유닛 ID(특정 가정, 사업체 혹은 특정 기기)

데이터 크기 : 수십만개의 샘플로 구성, 시계열 데이터 형식

Notebook 필사

google colab link :
링크텍스트

Lesson Learned

  • 시계열 데이터에서 시간 정보가 매우 중요한 역할을 함(적절한 시간 특성의 추출이 모델 성능에 영향을 미침)
  • 하이퍼 파라미터 최적화 : Opptuna를 사용하여 하이퍼파라미터 최적화를 통해 모델 성능 향상(ex) learning rate, depth, n_esetimators 등)
  • CatBoost : CatBoost는 범주형 변수 처리에 강력한 성능을 보여줌

0개의 댓글