티스토리 뷰

이번에는 프로젝트를 진행하면서 놓친 부분을 언급하고 끝내려고 한다. 프로젝트를 시작한 지 이제 일주일 정도 되었고 데이터는 쌓이고 있지만 매우 중요한 부분이기 때문에 누군가 나와 비슷한 계획으로 움직이려고 한다면 미리 생각해야 할 부분일 것이다. 

 

첫 번째로 이야기하는 건 타깃 정류소의 위치다. 이 프로젝트의 핵심은 내가 타고자 하는 정류소의 데이터를 수집하고 수집된 데이터 안에서 버스의 빈자리를 확인하는 데 있다. 예를 들어 특정 시간대에 빈자리가 항상 5자리 있다고 생각해보면 나는 그 시간대에 버스를 타기 위해 움직이면 된다는 이야기다. 

 

여기서 매우 중요한 부분이 간과되고 있는데 바로 그 정류소에서 대기하고 있는 사람의 수이다. 이미 여섯명이 기다리고 있다면 나는 그 정류소에 제때 도착해봐야 앉을 수 없게 된다. 우리 데이터는 정확했지만 결과적으로는 실패한 게 된다. 그렇다면 이 문제는 어떻게 해결해야 할까? 쉽게 생각해서 바로 다음 정류소의 데이터를 활용하면 된다. 다음 정류소의 데이터는 내 앞에 기다리고 있는 사람의 수까지 포함하고 있다고 봐도 되니까 말이다. 하지만 결과가 어떨지 모르지만 두 개 정류소의 데이터를 모두 갖고 있는 건 분명 여러 가지로 도움이 될 것으로 생각되기 때문에 코드를 약간 수정할 계획이다. 

 

두 번째로 간과한 것은 방학과 휴가철이라는 시기의 특수성이다. 상대적으로 버스를 이용하는 사람 수가 흔히 말하는 평상시 출근시간대보다 적을 수밖에 없다. 방학은 이제 대부분 끝났지만 수강신청 정정 기간이나 휴가철을 고려하면 현재 수집되고 있는 데이터가 절대적인 평균은 될 수 없다. 

 

세 번째는 조금 정밀한 측정을 위한 것인데 날씨라는 변수다. 눈 비 등 기상 상태에 따라서 버스 이용객의 수치는 민감하게 변할 수 있다. 비는 그렇다 치더라도 눈의 경우에는 대중교통으로 사람들이 몰릴 것은 눈 보듯 뻔하다. 그렇기 때문이 수집되는 데이터에 날씨정보까지 포함된다면 여러 가지 상황에 더욱 적합한 결과를 가져올 거다. 

이 세가지를 지금이라도 생각해내서 다행으로 여기고 데이터 수집 코드를 수정할 계획이다. 이건 데이터 로깅과 비슷한데 개발단계에서 로그를 실컷 적재했다고 생각했는데 정작 서비스 데이터를 분석하거나 머신러닝에 활용하려고 할 때 필요한 데이터가 누락되었다면 로그가 충분히 적재될 때까지 다시 시간을 들여야 한다. 강조하는 내용이지만 시간을 돈으로 사려면 꽤 비싸다. 못 산다는 이야기는 아니다. 요즘은 머신러닝을 할 때 GPU에 돈을 갈아 넣어서 모델의 학습 결과를 빨리 볼 수 있는 게 시간을 돈으로 사는 개념으로 생각하기 때문이다. 아무튼, 프로젝트는 오늘도 한 걸음 앞으로 나아갔다.


- 다음편에 계속

댓글
최근에 올라온 글
최근에 달린 댓글
글 보관함
Total
Today
Yesterday