하루동안 미드프로젝트2 마무리를 지었다.
PPT와 팀 노션 페이지를 정리했고 발표의 흐름과 내용을 구성했다. 열정적이고 꼼꼼한 팀원들의 덕을 많이 봤다.
프로젝트 요약
데이터 전처리 및 EDA는 팀원 모두가 전부 경험했다.
예측해야 하는 값인 중식계와 석식계가 높은 양의 상관관계를 보이는 것을 확인했고, 산점도를 그려보니 회귀선과 비슷한 분포를 나타내는 것을 보고 머신러닝으로 중식 수요를 예측 후 이 예측값을 다시 독립변수로 사용하여 석식 수요를 예측해 보는 방법을 생각했으며
데이터셋이 2016년부터 2021년까지의 데이터이므로 일부 기간 코로나 기간이어서 재택근무자 수가 생긴 것을 확인하는 등 EDA를 통해 머신러닝을 어떻게 진행해야할지 아이디어를 많이 얻었다.
머신러닝 모델은 AutoML 라이브러리 pycaret을 돌려본 결과 MAE 기준 높은 순위를 얻은 모델들을 선정하여 팀원끼리 배분하여 사용했다.
선정한 모델은 아래와 같다.
1. Multiple Linear Regression
2. Ridge, Lasso Regression
3. RandomForest Regressor
4. Extra Trees Regressor
5. Catboost Regressor
6. XGBoost Regression
각자 피처엔지니어링, 하이퍼파라미터 튜닝 등을 시도하며 MAE 점수를 낮추는 노력을 했다.
팀원들의 결과를 종합하여 제일 좋은 점수는 최종 순위(private score) 기준 130등 부근이었다.
비록 좋은 결과를 내진 못 했지만 여러 시도들을 통해 많은 것들을 배웠다.
앞서 언급한 중식 수요 예측값을 석식 수요 예측에 활용하는 방법은 결론부터 얘기하자면 의미 있는 개선이 되지 않거나 오히려 안 좋아지는 결과를 보였다.
예측값을 독립변수로 활용하려면 예측값 자체가 잘 예측한 값이라는 전제 조건이 있어야했지만 그렇지 않았다는 부분이 가장 큰 이유인 것 같다.
이번 프로젝트는 주어진 데이터에 초점을 맞추어 데이터 분석적인 측면에서 접근했지만 머신러닝 모델 성능 향상에 초점을 맞추어 보면 하이퍼파라미터 튜닝에 더 많은 시간을 투자하고, 식사 수요 예측에 영향이 있을 만한 날씨, 시간적 특성, 식단의 재료 등 외부 변수들을 사용한다면 더 좋은 결과를 얻을 수 있다고 생각한다.
우리 팀과 같은 주제를 선정한 팀이 다수 있던데, 이번 프로젝트를 어떤 방식으로 바라보고 풀어나갔을지 기대된다.
'AI SCHOOL > TIL' 카테고리의 다른 글
[DAY 72] 코딩테스트 연습 - Binary Search Tree, DFS, BFS, Sorting algorithms (0) | 2023.04.07 |
---|---|
[DAY 71] 미드프로젝트2 발표와 피드백, 종합 회고 (0) | 2023.04.06 |
[DAY 69] 미드프로젝트2 - 프로젝트 멘토 피드백, 머신러닝 (0) | 2023.04.04 |
[DAY 68] 미드프로젝트2 데이터 준비, EDA (0) | 2023.04.03 |
[DAY 67] 코딩테스트 연습 - 시간복잡도, 스택, 큐, 연결리스트 (0) | 2023.03.31 |
댓글