사망년/머신러닝

서울시 공공자전거 수요 예측을 위한 데이터 수집 및 통합 과정

stop-zero 2023. 12. 2. 02:12

모델을 개발하기 위해 2022년을 기준으로 데이터를 수집한다. 관련 논문 및 자료를 참고하여 데이터셋을 만들 것이다. 갈 길이 멀기에 모델 학습을 먼저 한 뒤 결과에 대한 문서화는 추후에 다시 정리할 예정이다. 
 

1. 서울 특별시 공공자전거 이용정보(시간대별)

  • 서울특별시 공공자전거 이용정보(시간대별)로 나와있는 데이터를 2022년 기준으로 달 별로 데이터를 다운받아서 하나로 합쳐야 한다.
  • /data 라는 폴더를 하나 만들고 concat을 사용하여 합친다. (이러고 나니까 데이터가 커져서 오래걸렸다.)
  • 사용하고자하는 칼럼은 대여일자, 대여시간, 이용건수 이기에 인덱스를 재정렬한다. 
  • 대여일자가 2022-09-14의 형식으로 이루어져 있기에 년도, 월, 일, 요일(num), 공휴일로 시간 변수를 생성한다. 

 

2. 미세먼지 경보 발령 

  • csv 파일이 아니고 xls 파일임
  • 발령시간과 해제시간으로 구성되어 있기에 그 사이에 모든 시간들을 체크해줘야 한다. 사용하고자 하는 데이터들이 시간이 24시 기준, 시간별로만 구성되어 있다. 먼저 발령날짜, 발령시각, 해제날짜, 해제 시각으로 분류한다. 
  • 서울시 정보만 다운받았기에 지역은 신경쓰지 않는다.
  • 발령시간과 해제시간을 계산하여 그 사이의 시간을 한 시간 단위로 데이터를 추가해준다. 
  • 이후 자전거와 날씨데이터를 합치고 미세먼지 경보 발령 데이터도 합칠 예정이다. 미세먼지 경보 발령 데이터는 존재하지 않고 자전거와 날씨데이터만 존재하는 시간은 미세먼지 칼럼에 "없음" 이라고 표기한다. 

 

3. 기상청 날씨 데이터 

  • 일시 > 시간 / 일시 데이터 칼럼으로 분류 
  • 결측지 확인 : 누적강수량, 기온, 풍속, 습도 해결
  • 이와중에 중요한 요소인 적설 빼먹은 1인...

 

4. 데이터 합치기

  • 날짜 데이터 타입을 맞추고 [대여일자, 대여시간  = 날짜, 시간]을 기준으로 자전거와 기상청 데이터를 합친다.
  • 합친 데이터를 미세먼지 발령 날짜와도 데이터 타입을 맞추고 merge
  • 발령날짜와 시간이 NaT인 경우에는 '없음' 으로 값을 채운다. 
  • 필요한 칼럼만 선택 , 변경
  • 최종 데이터 저장

 
https://github.com/LearningMachine-2001/bike_2022/tree/main

 

GitHub - LearningMachine-2001/bike_2022

Contribute to LearningMachine-2001/bike_2022 development by creating an account on GitHub.

github.com

원본 데이터 
1) 서울시 공공자전거 이용정보(시간대별)
https://data.seoul.go.kr/dataList/OA-15245/F/1/datasetView.do#

2) 기상청 종관기상관측(ASOS)
https://data.kma.go.kr/data/grnd/selectAsosRltmList.do?pgmNo=36

3) 미세먼지 경보 발령 정보 
https://www.airkorea.or.kr/web/pmWarning?pMENU_NO=115
참고 자료 
1) 권혜진, 하진영. (2023).공공자전거수요예측을위한사이킷런의지도기계학습모델성능비교. 디지털콘텐츠학회논문지 
http://journal.dcs.or.kr/_PR/view/?aidx=37157&bidx=3353

2) 탐색적 데이터 분석 - 기상정보를 활용한 공공자전거 수요 분석
https://velog.io/@shlee2227/goai2306011

 

'사망년 > 머신러닝' 카테고리의 다른 글

비지도 학습  (1) 2023.12.07
분류  (1) 2023.12.07
04_회귀(Regression)  (0) 2023.09.22
02_학습과 평가  (0) 2023.09.21
01_머신러닝 개요  (0) 2023.08.31