-
[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은 근무일

확실히 다르지 
날씨가 나빠도 비슷하다 
출처 : https://hong-yp-ml-records.tistory.com/27?category=823206 처음에는 내가 히트맵을 만들었는데 상관관계가 너무 없어보인다고 생각이 들어서 삭제했는데 사실 그래프로 나타내지 않았으면 몰랐을 것이라고 생각이 들어서 급히 배껴왔다.
데이터 전처리를 할 때 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