5주차 | 2차 미니프로젝트
KT AIVLE SCHOOL 5기 5주차에 진행한 2차 미니프로젝트 내용 정리 글입니다.
1일차
주제
- 공공 데이터 활용한 미세먼지 농도 예측
- 서울 지역의 미세먼지 데이터와 날씨 데이터를 활용하여, 미세먼지 예측에 관련 있는 데이터 항목으로 데이터를 구성, 전처리 하여 미세먼지 농도를 예측하는 머신러닝 모델 구현
데이터 전처리 및 분석
- 시계열 데이터로
time
변수를 기준으로 미세먼지, 날씨 데이터merge
- 1시간 후 미세먼지 농도를
target
으로 설정 - 시계열 데이터로
ffill, bfill
사용 → 놓친 부분 - 날씨 데이터는 생각보다 무의미 했고, 미세 먼지 및 대기 오염 물질 정보가 관련이 깊었다
모델링
Linear Regression, Random Forest, Gradient Boost, XGBoost, LightGBM
모델 사용MSE, R2
평가 결과Linear Regression, Random Forest
모델의 성능이 가장 좋았다- 변수 중요도는
PM10
변수가 압도적이고전날 미세먼지, CO, PM25, NO2
가 다음으로 높았다
2 ~ 3일차
주제
교통 약자 콜택시 대기 시간 예측
도메인 이해
- 장애인 콜택시: 중증 장애인 등 교통 약자의 이동과 편의를 지원하기 위하여 도입된 대중교통
- 콜접수 → 배차 → 운행
데이터 소개
- 날씨 정보 : 날씨 데이터 → 다음날에 대한 예보 데이터로 간주하여 모델링에 사용
- 운행 정보 : 이동 거리, 접수 건수 등 콜 택시 운행 관련 정보
데이터 전처리 및 분석
- 날씨 정보를 하루 댕겨 와서 운행 정보와
merge
→ 이 부분이 많은 사람들에게 헷갈리는 부분이었다 - 운행 정보는 유용한 변수들이 많았다
- 주말과 평일에 따라 운행 정보들이 차이를 보였다
- 날씨 정보는 그렇게 유의미하지 않았다
- 날씨 및 운행 정보들을 각각 대기 시간과의 비율 정보를 만드니 유의미한 변수들이 많이 생성되었다
- 익일의 평균 대기 시간을
target
으로 설정
모델링
Linear Regression,SVM, KNN, Decision Tree, Random Forest, Gradient Boost, XGBoost, LightGBM
모델 사용 →Linear Regression
모델의 성능이 계속 좋았다- 파생 변수를 만들어 성능을 높이고자 했다 → 그렇게 향상되지 않았고, 여전히
Linear Regression
의 성능이 가장 좋았다 - LightGBM 모델의 변수 중요도를 이용하여 상위의 변수들로만 성능 측정
- 결국 Linear Regression, SVM 모델에서 성능이 가장 좋았다
- 변수 중요도는 7일 평균 대기시간 변수가 압도적이었고
booking_count, weekday, boarding_rate, weekday_avg_wait_time_ratio, boarding_count
**변수들의 중요도가 높았다
결론
- 데이터의 수가 너무 적어서 복잡한 모델은 성능을 제대로 보이지 못한 것 같다
- 유의미한 변수 생성을 못한 것 같다
- 추가적인 데이터들이 있었으면 좋았을 것 같다
느낀점
- 데이터 분석을 통해 얻은 인사이트를 활용하여 파생 변수를 생성해야 할 거 같다
- AutoML 패키지와 같은 다양한 방법들을 활용해 봐야겠다