귀퉁이 서재

캐글 필사 - 1. Bike Sharing Demand 본문

캐글 (Kaggle)

캐글 필사 - 1. Bike Sharing Demand

Baek Kyun Shin 2019. 9. 28. 16:45

자전거 대여 수량을 예측하는 컴피티션을 해봤습니다. (Kaggle 링크: https://www.kaggle.com/c/bike-sharing-demand) 2011년부터 2012년에 수집한 데이터를 기반으로 합니다. 날짜 및 시간, 계절, 공휴일 여부, 날씨, 온도, 체감 온도, 습도, 풍속, 회원 여부에 따라 자전거 대여 수량을 예측하는 것입니다. 주어진 데이터가 깔끔한 편이라 EDA 하기에는 편했습니다. 또한 EDA만으로도 자전거 대여 수량에 영향을 미치는 Feature를 뚜렷이 구분할 수 있었습니다.

본 프로젝트를 하기 위해 corazzon님의 유튜브(https://www.youtube.com/watch?v=Q_MbN-vu_2w) 를 참고했습니다.

아래는 본 자전거 대여 수량 컴피티션을 진행한 제 깃헙 링크입니다. 

Bike Sharing Demand EDA: https://github.com/BaekKyunShin/Kaggle/blob/master/Bike_Sharing_Demand/Bike%20Sharing%20Demand%20EDA.ipynb

Bike Sharing Demand by Random Forest: https://github.com/BaekKyunShin/Kaggle/blob/master/Bike_Sharing_Demand/Bike%20Sharing%20Demand%20by%20Random%20Forest.ipynb

Bike Sharing Demand by Ensemble: https://github.com/BaekKyunShin/Kaggle/blob/master/Bike_Sharing_Demand/Bike%20Sharing%20Demand%20by%20Ensemble.ipynb

Bike Sharing Demand EDA

Bike Sharing Demand EDA에서는 뚜렷한 특징을 보이는 Feature가 있습니다. 시간이 그중 하나입니다. 하루 중 출퇴근 시간인 8시와 17~18시에 대여량이 가장 많습니다. 사람들이 출퇴근하면서 자전거를 많이 대여하는 모양입니다. 하지만 이는 주중에 주로 나타나는 특성입니다. 주말에는 8시, 17~18시보다는 오후 시간대에 대여량이 많았습니다. 주중엔 출퇴근 시간, 주말엔 오후 시간대에 대여량이 많습니다. 주중은 5일이고, 주말은 2일이므로 이 둘을 합치면 8시, 17~18시에 대여량이 많아 보이게 됩니다. 

계절별로는 여름에 대여량이 많습니다. 아무래도 날씨가 추울 때보단 따뜻하거나 더울 때 더 많이 타는 것 같습니다. 또한 2011년보다 2012년에 사용자가 더 많습니다. 

Bike Sharing Demand by Random Forest

Bike Sharing Demand by Random Forest의 In [6] 에서는 Missing Value를 머신러닝을 통해 채웠습니다. Missing Value를 채우는 가장 기본적인 방법은 평균값으로 채워주는 것입니다. 하지만 Missing Value 자체를 Target Value라 생각하고 다른 데이터를 활용해 예측해줄 수도 있습니다. Missing Value 이외의 데이터를 살아있으니 살아있는 데이터를 Feature라 생각하고, 해당 Feature를 기반으로 모델을 학습시켜 Missing Value를 예측해주는 것입니다. 이런 식으로 예측해 Missing Value를 채워주면 단순히 평균값으로 예측하는 것보다 더 정확히 예측할 수 있습니다.

보다 자세한 내용 및 코드는 제 깃헙 링크를 참고해주시면 좋겠습니다.

Comments