- 웹 어플리케이션 바로가기
- 깃 허브 레포지토리 바로가기
- 프로젝트 포스팅 목록
문제 정의
- 플라스크(Flask) 웹 구현을 목표로 시작하는 데이터 파이프라인 구축 프로젝트이다.
- 머신 러닝 모델을 서빙할 예정이고 머신 러닝 성능보다 무에서 파이프라인을 만들어 보는데 의의를 두려고 한다.
- 태블로를 활용한 분석 및 배포까지 해보고 싶다.
- 주제는 아무래도 코로나 때문에 굉장히 힘들어하고 있는 한 사람으로서, 기상 변인으로 서울시의 확진자 수를 예측하는 머신 러닝 모델을 만들어보려한다.
데이터 파이프라인
- 공공데이터: 일별 기상 데이터, 확진자 수 데이터 ⇨ AWS RDS PostgreSQL
- BI: Tableau, Tableau Public(웹사이트 내 링크)
- 웹 프레임워크로 플라스크(Flask)이용, 헤로쿠(Heroku)로 배포
머신러닝 모델링
- 코로나 확진자수가 유의하게 존재하는 기간은 그렇게 오래 되지 않았기 때문에 지금으로부터 1년 전까지의 데이터만 사용했다.
- 59가지의 기상 데이터를 사용 시 R²: 0.9
- 기상 입력값을 받아 확진자 예측을 해야하기 때문에, 59가지나 되는 기상을 사용할 수 없다.
또한 기상예보에서 알려주는 데이터가 아닐 경우, 서비스의 유용력이 굉장히 떨어질거라 생각해서 기상예보로 확인할 수 있는 7가지의 기상 데이터만 사용했다. - 7가지의 기상 데이터를 사용 시 R²: 0.5
- 모두 사용했을때보다 성능이 굉장히 아쉬웠지만, 그래도 0.5라는 수치는 강력하진 않지만 중간정도의 효과 크기로 간주되기 때문에 이 모델로 웹서비스를 진행했다.
Retrospect
사실 머신러닝을 접목해서 서비스를 한다는 것 자체가 정말 개인적으로는 사고를 높이는데 한단계 발전 할 수 있었던 프로젝트였다고 생각한다.
하지만 어떤 학습을 시켜야하는지 문제정의를 하는 것부터, 어떤 데이터를 어떻게 파이프라인으로 꾸려야하는지를 생각하는게 까다롭고 힘들다는 것을 느꼈다.
그만큼 데이터가 중요하고 앞으로 내가 하게 될 일에 대해 더 많이 생각 했고 더 사랑할 수 있게 된 것 같다.
또 이번 프로젝트를 진행할 때 필자도 코로나로 굉장히 힘들어하고 있는 사람중에 한사람으로써 사실 조금이나마 사회에 도움이 되길 바라는 마음으로 만들었지만, 분석을 하면서도 느꼈고 도메인에 대해 탐색하면서도 느낀 점이지만 코로나가 기상과의 연관성이 크지 않아서 사실 서비스에대한 유용성을 필자 스스로도 크게 느끼지 못한 것 같다.
사실 데이터도 굉장히 부족해서 앞서 R2 값이 0.9가 나왔지만 과적합의 위험도 크고, 7개의 변인으로만 사용한 모델은 설명력이 굉장히 부족하기 때문에 결과가 포부를 따라가지 못해 아쉬운 마음이 큰 프로젝트 였다.
하지만 정말 많은 시간을 쏟았고 엄청난 시행착오를 겪으며 한발 내딛은 기분이 든다.
시간의 한계 때문에 서울에 대해서만 모델링을 진행했는데, 전국적으로 또 전 세계적으로 오랜시간 연구하다보면 나름대로 유의미한 결과를 도출해낼 수도 있을거란 생각을 한다.
미리보기
동기 피드백
좋았던 점
- 약간 빨랐지만 발음이 정확했고 이번 섹션 프로젝트에서 배운 내용과 그 이상의 것을 열심히 적용한 게 보였습니다. 발표 주제 및 자료가 이번 섹션에서 배운 것들을 적절하게 잘 활용하였다고 생각합니다. 데이터 파이프라인을 구축하는 과정과 좋은 발표내용 잘 들었습니다.
- 데이터 파이프라인을 아키텍처로 제시하여 데이터의 흐름을 한눈에 확인할 수 있었습니다. 비데이터 직군이라면 생소할 수 있는 용어(R2, LightGBM)를 일반인들이 발표를 따라가는데 무리가 없을 정도로 간략하지만 직관적으로 짚고 넘어가 관련직군이 아니더라도 발표를 따라가는데 큰 무리가 없어보입니다. 웹사이트를 가보고 놀랐습니다. 많이 신경 쓰신게 느껴집니다. 일반인들도 쉽게 이용할 수 있게 GUI를 잘 구성하였고 디자인적인 면도 세련되어 아주 좋았습니다. 회고에서 말씀하신 것처럼 코로나와 날씨의 영향성에 대해 저도 여러 찾아본바 이 둘의 영향이 크지 않아 유용성적인 면에서는 조금 아쉽지만, 이 두 가지 테마를(날씨와 코로나) 연관을 지어서 서비스를 기획할 생각을 하신게 인상깊었고 창의적이라고 생각합니다.
- 가끔 깃허브나 블로그 구경가는데 자극이 많이 됩니다 ㅎㅎ 좋은 영향 주심에 감사합니다. 발표도 잘 들었습니다. 감사합니다
- 발표의 속도와 목소리 크기 등 안정적 이었습니다. 기상과 코로나 확진자의 연관성에 대한 모델 구축이 새롭게 다가왔던 것 같고 GUI 구성이 멋있었습니다. 발표 상에서도 언급이 있었지만 스케쥴링을 통한 데이터 수집/배포 등 완성도가 높은 구현이 아니었나 생각합니다.
- Good
아쉬운 점
- 조금 아쉬운 점이 있다면 기후와 코로나 감염자 확산과 상관이 있다라는 가설검정이 있다면 좀 더 설득력있는 발표가 되었을 것 같다 생각했습니다.
- 확진자 수 예측을 위해 날씨 데이터를 입력하는 과정에서, 변인입력에 참고하도록 링크한 기상청 날씨누리에도 없고 단위가 생소한 변인들(저만 그렇게 느낄수도 있지만..) 있었습니다. (전운량, 일조시간, 해면기압) 어떤 단위를 넣어야 하는지 함께 표시되면 좋을 것 같습니다!
- 크게 아쉬었던 점은 없었던 것 같습니다. 상당한 시간과 노력이 들어간 프로젝트가 아니었나 생각됩니다.
- 없다.