[2023 스마트농업 AI 경진대회 #2] AI 해커톤 진행 과정

윤하은·2023년 9월 29일
0

AI Hackathon

목록 보기
2/5

프로젝트 진행 과정


주제

정식일 이후 16주 동안 단위 면적당 최소 에너지 비용(누적 난방용 도시가스 사용량)으로 최대 수확량을 예측할 수 있는 환경/생육 모델



데이터 분석


EDA

Exploratory Data Analysis
: 탐색적 데이터 분석은 데이터를 이해하고 그 안에 포함된 패턴, 관계, 이상치, 누락값 등을 발견하기 위한 과정이다.

  • 데이터 수집
  • 데이터 확인
  • 데이터 시각화
  • 중복값 처리
  • 이상치 처리
  • 데이터 분포 분석
  • 변수 간 상관관계 분석
  • 데이터 그룹화 및 집계
  • 추가 분석
  • 보고 및 시각화

‘dataprep’ 라이브러리를 사용해서 생성한 EDA 보고서를 통해 데이터의 특성을 파악하고 위 과정을 수행했다.
%pip install dataprep
from dataprep.eda import create_report

# data prep report 생성 및 보기
    
classic_report = create_report(df)
classic_report.save('classic_final_report') # save report to local disk
classic_report.show_browser()



데이터 전처리


결측치 처리 및 스케일링 등과 관련된 부분은 다음 게시글에 자세하게 설명했다.


파생변수 생성

  1. 비율 (Ratio):
    • temp_difference: 실내온도(inTp)와 실외온도(outTp)의 차이
    • sunlight_to_otmsuplyqy_ratio: 일사량(acSlrdQy)과 'otmsuplyqy'의 비율
  2. 통계적 집계 (Statistical Aggregation):
    • 7day_avg_inTp: 실내온도(inTp)의 7일 이동평균
    • 7day_avg_inHd: 실내습도(inHd)의 7일 이동평균
  3. 다항/상호작용 특성 (Polynomial/Interaction Features):
    • temp_humidity_interaction: 실내온도(inTp)와 습도(inHd)의 상호작용
  4. 시간 관련 파생 변수 (Time-related Features):
    • season: 월을 기반으로 봄, 여름, 가을, 겨울을 나타내는 범주형 변수
  5. 이동 평균 (Moving Average):
    • 7day_avg_inTp: 실내온도(inTp)의 7일 이동평균
    • 7day_avg_inHd: 실내습도(inHd)의 7일 이동평균
  6. 범주형 변수의 이진화 (One-hot Encoding):
    • season에서 파생된 봄, 여름, 가을, 겨울을 나타내는 이진 변수

위와 같은 파생변수를 실험적으로 추가해봤다. 너무 많은 파생 변수를 추가하면 모델이 과적합될 위험이 있기 때문에, 파생 변수를 추가한 후에는 항상 교차 검증 등을 통해 모델의 성능을 평가해야 한다고 한다. 또한, 도메인 지식을 활용해 더 의미 있는 파생 변수를 생성하면 더 좋은 결과를 얻을 수 있었을 것 같다.


0개의 댓글