-
[Deep Learning] 자전거 수요 예측하기 - kaggleABOUT COMPUTER/학습 STUDY 2021. 4. 8. 19:12
2021.04.08 공부하면서 데이터 분석, 전처리에 대해 이해하는 부분만 포스팅하였습니다.
Prob : 과거 사용 패턴과 날씨 데이터를 이용해서 자전거 수요 예측하기
제공되는 data field :
datetime - hourly date + timestamp
season - 1 = spring, 2 = summer, 3 = fall, 4 = winter
holiday - whether the day is considered a holiday
workingday - whether the day is neither a weekend nor holiday
weather - 1: Clear, Few clouds, Partly cloudy, Partly cloudy
2: Mist + Cloudy, Mist + Broken clouds, Mist + Few clouds, Mist
3: Light Snow, Light Rain + Thunderstorm + Scattered clouds, Light Rain + Scattered clouds
4: Heavy Rain + Ice Pallets + Thunderstorm + Mist, Snow + Fog
temp - temperature in Celsius
atemp - "feels like" temperature in Celsius
humidity - relative humidity
windspeed - wind speed
casual - number of non-registered user rentals initiated
registered - number of registered user rentals initiated
count - number of total rentalsCSV를 참조하여 내가 해석한 data field
datetime
season -> 1: spring, 2: summer, 3: fall, 4: winter
holiday,
workingday, -> 의문점 : 주말도 아니고 workingday도 아닌건 뭐임..? 둘 다 0인 경우.
weather,
temp,
atemp,
humidity,
windspeed,
casual,
registered,
count=> 첫번째 생각 : 일단 datetime부터 쪼개서 언제 자주 타는지 확인해보자. 데이터의 이해도가 있어야 쉽게 코드를 구현할 수 있다.
두번째 생각, 날씨가 좋고 겨울보다는 봄, 여름, 가을에 많이 빌리지 않을까? 라는 생각. 내가 겨울에 자전거 탔을 떄 얼마나 추웠는지 생각해봐...
세번째 생각, 칼럼들에 대한 상관관계를 알면 좋을듯
datetime에 포함되어 있는 weekday를 사용하고 싶었다. 어느 요일에 많은지 보고 싶었다. 나 같은 경우만 해도 정해진 평일에만 자전거를 타고 다녔으니까 혹시라도 상관관계가 있을까? 해서 그래프를 그려보았다.
* 참고) weekday와 dayofweek에 대한 차이: weekday는 월요일 = 0, 화요일 = 1, ... 일요일 = 6
dayofweek은 일요일 = 1, 월요일 = 2, ... 토요일 = 7 이라고 느껴진다.
왼쪽 아래에 보이는게 요일별 대여량인데 맨 왼쪽부터가 월요일인데 일요일이 제일 낮았다. 아마 그 이유는 일요일엔 집에서 쉬는 사람이 대부분인 것 같다. 생각보다 워싱턴에서 출퇴근용으로 자전거를 빌리는 사람이 많게 해석된다.
주피터노트북에 정리한 내용은 다음과 같다.
신경써야 할 부분 / 2011년도보다 2012년에 대여량이 많았고,
연초보다는 연중/연말이 훨씬 많았다. -> 1~6월까지 증가하고, 10월부터 12월까지 감소
=> 내 예측이랑 같음weekday같은 경우에는 많이 차이 없었고, 일요일에 좀 적네
시간대비 7시부터 9시 - 출근시간 과 17시부터 19시 - 퇴근시간이 많네
여기서 할 수 있는 생각으로는 요일로는 어떻게 나뉘어질까? 라는 생각을 할 수 있음
근데 왜 day rental amount에는 19까지밖에 없지? => test 데이터에 20부터 있음
아마 train을 기반으로 20~30의 렌트 수를 예측할 수 있어야 함 이게 곧 문제workingday와 holiday 칼럼에 대한 의문이 아직 가시지 않았다. 그래프로 나타내보자.
여기서 재미있는 사실을 하나 알아냈는데 어떻게 겨울보다 봄이 더 적지? 에서 데이터가 뭔가 잘못되있나라는 생각이 들었다. 내 생각이 잘못됐나? => 봄엔 꽃보러들 많이 자전거 타잖아. 아마 워싱턴의 1이 겨울인 것 같다.
1 겨울 2 봄 3 여름 4 가을 위의 사진에 담겨있는 달로봐도 이해할 수 없었다. 11월 12월 1월에는 자전거 타기 싫었거든
온도와의 상관관계를 그래프로 조금이나마 이해해보자면
10도부터 30도일때가 비교적 많이 분포되어있지
체감온도도 또한 10도부터 30도에서 많이 분포되어있고 30도에서 피크 습도는 40%이상에서 많이 분포되어 있다
풍속이 너무 높으면 또 없고. 비교적 바람이 많이 불지 않아야 자전거를 잘 타네이정도면 적절한 시각화 & 적절한 분석을 마친 것 같다. 하나 빼고.
workingday와 holiday에 따른 자전거 대여량을 위 그래프로는 얻을 수 있는게 거의 없었다.
시간대로 분석해야 할까? workingday에 대한 이해는 구글을 통해 알아냈다. 0은 휴일, 1은 근무일
처음에는 내가 히트맵을 만들었는데 상관관계가 너무 없어보인다고 생각이 들어서 삭제했는데 사실 그래프로 나타내지 않았으면 몰랐을 것이라고 생각이 들어서 급히 배껴왔다.
데이터 전처리를 할 때 outlier에 대한 이상치들을 제거해주는 것이 학습시킬 때에 훨씬 효율적으로 학습이 진행될것이다. 따라서 전처리에 outlier를 탐지하여 제거해주는 방향으로 전처리를 진행해줄 것
'ABOUT COMPUTER > 학습 STUDY' 카테고리의 다른 글
[C++] 스마트 포인터 (부제 : 가비지 컬렉터와 스마트 포인터의 차이점) (0) 2021.10.12 [C++] 캐스트 연산자 (static_cast, dynamic_cast, ...) (0) 2021.10.12 [이것이 취업을 위한 코딩 테스트다 with 파이썬] PART 03 (2) 2021.01.26 What is RPA? (RPA란?) 초심자를 위한 RPA tool에 대한 장단점 비교 (10) 2020.07.10