[논문] 서울시 공공자전거 사용성 개선을 위한 대여 반납 예측 모델 개발

jwKim·2023년 6월 22일
0

😁 프로젝트 리뷰

목록 보기
7/8

[ 사용된 기술 및 패키지 ]

  • python
    • numpy/pandas
    • sklearn
    • pycaret

[ 담당 업무 ]

  • 팀장
  • 데이터 수집
  • 데이터 전처리 및 병합
  • 모델링 및 성능 평가
  • 논문 작성

1. 개요

  • 주요 서울시 공공자전거(따릉이) 대여소에서 특정 시점에 몇 대의 자전거가 대여 혹은 반납될 것인지 예측하는 모델 생성
  • 따릉이 거치 대수 조절에 도움을 줄 수 있고 더 나아가 따릉이 서비스를 이용하는 고객들의 만족도 향상 도모
  • 한국디지털콘텐츠학회에 게재
  • 아래 링크에서 확인 가능



2. Abstract

서울시에서 운영하는 공공자전거 사업 “따릉이”는 서울 시민들의 건강, 이동 편리성 증진 등에 이바지하는 사업이다. 그런데 대여소에 거치된 자전거 수가 아예 없거나 너무 많으면 시민들의 불편을 호소할 수 있다. 에 따라 본 연구는 따릉이의 공급 및 회수를 원활히 하고자 주요 대여소에 대해 대여 420,303건과 반납 424,282건의 데이터를 수집하였다. 더불어 머신러닝 기법을 활용하여 특정 대여소에 대해 시간, 날씨 데이터를 기반으로 대여량과 반납량을 예측하는 모형을 제안했다. 연구 결과 Light GBM 모델이 가장 우수한 성능을 보였고, 해당 연구를 통해 따릉이의 원활한 운영과 따릉이에 대한 시민의 만족도가 높아질 것을 기대한다.



3. 느낀점

3-1. 팀장의 무게

처음으로 프로젝트에서 팀장을 맡았다. 지금껏 몇 개의 프로젝트를 진행하며 팀장의 역할을 보았지만 생각보다 할 일과 생각할 거리가 많았다. 팀원으로 참여했을 때에도 물론 프로젝트의 방향과 의미를 고민했지만, 팀장으로 참여하니 그 전보다 더 많은 고민과 기술 외적인 부분에도 신경을 많이 써야했다. 에너지는 전보다 많이 사용 했지만 그만큼 얻어가는 것이 많음을 느낀 프로젝트였다. 아래에 구체적으로 어떤 점을 느꼈는지 간단히 공유하겠다.

업무 분장이 참 어렵다. 팀원들의 역량과 관심사가 모두 다르기 때문이다. 어떤 팀원은 백엔드 개발을 했고, 어떤 팀원은 파이썬 자체를 잘 모르기도 했다. 나는 이런 부분들까지 염두에 두고 업무분장을 했다. 업무 분장에 있어 또 중요하게 생각한 점은 '무임승차는 없다'는 것이었다. 아무리 데이터에 대한 지식이 없어도, 코딩을 잘 하지 못해도 가르쳐서라도 업무를 주었다. 이러한 부분들을 신경쓴 덕에 개인의 프로젝트가 아닌 우리 모두의 프로젝트가 되었다.

팀원들 간의 의견을 좁히는 것도 중요한 일이다. 보통 프로젝트가 그렇겠지만, 우리는 이번 수업에서 처음 만난 사람들이어서 친분도 없었고 생각과 관심사가 모두 달라 의견을 각자 낸다고 하더라도 모래알처럼 흩어져있었다. 프로젝트가 앞으로 나가기 위해서는 어느 한 명이 의견을 조율하고 큰 울타리를 쳐야하고, 그 역할은 팀장이 수행해야 함을 느꼈다. 그래서 나는 한 방향으로 나아갈 수 있도록 의견을 합치고 최대한 팀원 각자의 의견이 살 수 있도록 노력했다.

팀장으로써 역할을 수행하며 훨씬 책임감있게 프로젝트에 참여하게 되었으며 이번 경험이 앞으로 진행할 프로젝트에도 큰 도움이 되리라 생각한다.

3-2. 코딩의 재미

코딩은 참 재미있는 것 같다. 지금껏 데이터 처리를 위해 많은 코드를 작성해왔지만, 이번 프로젝트처럼 이렇게 재밌던 적은 처음이었다. 이번에는 새벽까지 작업한 날이 꽤 많았는데, 늦은 시간이었음에도 불구하고 코드 작성에 많이 몰입한 것 같다. 그 이유를 개인적으로 생각해보았는데 그 이유는 아래와 같다.

첫 번째 이유는 데이터 처리에 많이 익숙해졌기 때문이다. 몇 개의 프로젝트를 진행하고, 여러 데이터를 접하면서 데이터 처리를 위한 코드 작성이 많이 익숙해졌다. 전에는 간단한 것도 확신이 없어서 많이 찾아보고 더듬더듬 작성했다면 이번에는 전보다 좀 더 자유롭게 코드를 쓸 수 있게 되지 않았나 생각이 든다.

두 번째 이유는 코드 작성을 내가 전담했기 때문이다. 이전 프로젝트까지는 코드 작성도 두 세명이 함께 진행했기 때문에 모듈화 된 작업을 했는데, 이번 프로젝트에서는 팀원들이 파이썬에 익숙하지 않아서 내가 코드를 거의 전담해서 작성했다. 이 때의 좋은 점은 코드 흐름과 변수 이름을 정확히 알고 있다는 점이다. 모든 코드를 내가 작성해서 조금 더 정이 가고 재미가 있었던 것 같다.

물론 프로젝트의 크기가 커질수록 한 사람이코드를 전부 작성하는 것은 불가능하다. 따라서 다른 사람들과 함께 개발하더라도 이번처럼 몰입하고 재미있게 코딩할 수 있게 연습을 해야할 것 같다.

0개의 댓글