본문 바로가기
패스트캠퍼스&업스테이지 AI Lab 1기

ML 경진대회 후기 - 패스트캠퍼스&업스테이지 AI Lab 1기

by 아르카눔 2024. 1. 30.

1. Abstract

  • Goal of the Competition
    • House Price Prediction 경진대회. 주어진 데이터를 활용하여 서울의 아파트 실거래가를 효과적으로 예측
  • Timeline
    • January 15, 2024 - Start Date
    • January 25 , 2024 - Final submission deadline
  • Description of the Data
    • House Price Prediction 경진대회 데이터는 AI Stages가 제공했다.
    • Machine Learning Advanced (House Prices Prediction Dataset) : CC-BY
    • 학습 데이터의 기간은 2007년 1월 1일부터 2023년 6월 30일
    • 테스트 데이터의 기간은 2023년 7, 8, 9월. Puiblic과 Private은 각각 Random하게 5:5로 나뉜다.
    • 성능의 기준은 RMSE
  • Description of the Work
    • 총 5명의 조원이 각자 EDA, 리서치, 피쳐엔지니어링, 모델링 후 결과 공유
    • 오전 10시와 오후 5시에 하루에 2번씩 회의
    • 얻은 인사이트, 구현한 코드, 모은 데이터, 리서치, 의문점 등 논의

2. Process : Competition Model

  • AI Stages에서 제공한 서버 이용해서 학습
  • 주요 모델은 XGBoost, Light GBM
  • 시계열이라 TabNet이나 ARIMA 등도 생각했지만 향후 3개월, 90일이라는 긴 기간 예측이라 배제.

3. Process : Issues

  • Issues.
    • 시계열 데이터의 특성을 살릴 것인가 아니면 크로스 섹셔널 데이터로 활용할것인가의 문제
    • Validation과 Public 리더보드 상의 성능의 괴리 문제
    • 게시판에 공유된 아파트명과 면적 카테고리로 groupby한 그룹마다의 평균을 예측한 코드가 높은 성능을 보였고 이를 토대로 피쳐 엔지니어링에 참조했다.
  • Possible Reasons for the Issues.
    • Validation과 Public 리더보드 상의 성능의 괴리 문제는 index 문제가 있어였다. 대회가 끝난 후 고쳐졌다.
    • 매우 고가의 거래가격이 outlier로 작용하기 때문에 평균 근처의 가격을 측정하는 것이 좋은 모델이라고 생각
  • Solutions to Imporve Your Project.
    • 시계열 데이터이면서 부동산 가격은 장기적으로 계속 우상향하고 내려간 적이 별로 없기 때문에 2020년대 가격만으로 학습.
    • 평균 면적의 구간화(binninb, bucketing) 등을 활용하여 그룹별 평균을 타겟 값으로 설정하고 모델링했으나 여전히 성능이 좋지는 않았다.
    • 여러가지 피쳐를 더하거나 빼는 작업, 그리고 면적 그룹, 연도별 평균가격 등의 파생 변수를 만들어 활용하는 등 다양한 피쳐의 조합을 활용했다.
    • 타겟 값을 raw price 외에도 특정 그룹의 평균 가격을 예측하는 등 여러가지 실험을 수행했다.

4. Role

5. Results

수정 전 리더보드

  • 8th, Public Score: 89077.1826
  • 7th, Final(Public + Private) Score: 89077.1826

수정 후 리더보드

  • 3rd, Public Score: 18200.0390
  • 4th, Final(Public + Private) Score: 16173.2293

6. Conclusion and Retrospective

  • 초반 인덱스 문제로 인해서 리더보드와 Validation RMSE의 괴리가 심했다. 이때 Validation을 믿고 진행했어야 정상적으로 돌아온 리더보드에서 좋은 성능을 보였을 듯 하다. 다른 대회에 또 참여할 때 Validation을 믿고 실험을 수행해야겠다.
  • 실제 업무에서도 KPI의 설정은 정상적이더라도, 여러 이슈로 인해 성능 모니터링 대쉬보드 등이 잘못될 수 있다. 이를 유의해야겠다고 생각했다.
  • Kaggle이나 다른 레퍼런스를 추가로 찾아봤으면 좋았을듯하다.
  • 다른 팀원들과 토론하면서 인사이트를 얻을 수 있었고 각자 EDA나 수집한 데이터를 공유하여 시간을 아낄 수 있었다.