Skip to content

캐글의 Predict Future Sales와 관련된 미니 프로젝트입니다.

Notifications You must be signed in to change notification settings

Minju-nimm/Predict_Future_Sales

Repository files navigation

🛒 Predict Future Sales

다년간의 시계열 데이터를 분석하여, 특정 월의 상품 판매량을 예측하는 강건한 모델을 만드는 프로젝트입니다. 기존 수상작들의 코드를 참조하여 데이터 분석의 수준을 높여 생략되거나 미비했던 EDA 과정과 스케일링, 이상치 제거 등의 부수적인 전처리 과정을 추가하고 앙상블 모델을 사용함으로써 분석의 품질을 높이고자 했습니다.

👉🏻 Kaggle Predict Future Sales 경진 대회 링크는 이 곳을 눌러주세요.

🔎 프로젝트의 자세한 내용을 알고싶다면? 포트폴리오를 참고하세요!



👪 팀원 소개

📷 Member R & R
김민주
@Minju-nimm
데이터 전처리 및 시각화
Github, Notion 관리
모델링
김기준
@AppleKimkijun
데이터 전처리 및 시각화
피쳐 엔지니어링
고준성
@KO-JUNSUNG
모델링
Github, Notion 관리
피쳐 엔지니어링
이한재
@feedhj123
하이퍼 파라미터 튜닝
모델링


🔎 프로젝트에서 주목한 내용

Log transformation

  • 연속형 변수들에 대해서 분포를 확인, 정규성을 따르지 않는 변수들을 변환
  • 예측모델을 적용할 때 통계적 이론을 바탕으로 구성, 예측모델은 데이터 분포가 정규분포를 따른다고 가정
  • 데이터 분포를 안정화 시키기 위해서 보통 로그화나 정규화 방법을 이용

  • item_price의 원래 분포형태는 정적 편포 형태
  • 로그 변환을 시도한 결과 정규분포의 형태를 띄게 되었고, 왜도 절댓값도 크게 줄어 정규분포에 가깝다고 볼 수 있음
  • item_cnt_day의 경우 로그 변환 전, 후로 그래프 형상에서는 큰 차이가 없어보였으나 왜도의 절댓값이 100에서 5로 크게 감소함


Modeling



  • 스태킹/블렌딩 모델은 예측 변수 그룹의 예측을 집계해서, 최상의 개별 예측보다 더 나은 예측을 얻을 수 있는 원리로 작동
  • 모델들의 장단점 및 예측 점수를 고려하여 스태킹을 최종 모델로 지정



Hyper parameters tuning : Optuna Library

  • 모델의 하이퍼 파라미터 튜닝으로 옵튜나 라이브러리를 사용
  • 옵튜나 라이브러리는 하이퍼파라미터 튜닝에 쓰이는 최신 AutoML기법 중 하나



Conclusion

  • 4번: quarter 변수를 추가하고, log 변환한 변수들을 추가한 경우 (1.24887로 좋지 못한 점수를 받음)
  • Log 변환을 진행하면서 Feature를 많이 늘린 탓에 과적합 문제가 우려
  • train data의 성능은 훌륭했으나 test data 예측 점수가 많이 낮아지는 문제 발생


📚 Reference




해당 프로젝트는 멀티캠퍼스 데이터 분석 및 웹 개발자 13회차의 실전 분석 프로젝트 4조 '고민기재'가 기획하였습니다.

About

캐글의 Predict Future Sales와 관련된 미니 프로젝트입니다.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published