프로젝트 관리 단계
매개 프로젝트를 6개 단계로 관리하고 단계별 작업목록을 작성한다.
프로젝트가 끝날때까지 매 단계별 결과에 따라서 그 이전의 단계로 다시 돌아갈 수도 있다.
예를 들면, 알고리즘을 개발하고 결과 분석 단계에서 문제가 있거나 결과가 이상적이지
않아서 feature engineering이 다시 필요 할 경우 데이터 분석 단계로 다시 돌아가서 시작
할 수 있다.
문헌 검토 (Literature Review)
- 관련된 문헌 정보를 Google Scholar과 같은 문헌정보 사이트에서 추출
- github.com에서 관련된 open source code를 검색
- medium.com에서 관련 글들을 검색 등
데이터 분석 (Data Analysis)
- feature engineering 혹은
- unsupervised learning (e.g., auto-encoder)을 통한 automatic feature engineering
알고리즘 개발 (Algorithm Development)
- baseline을 먼저 몇개 실현
- 간단한 모델로 부터 점차 복잡한 모델 (hypothesis) 실현
- 서로 다른 모델을 ensemble / stacking 실현
결과 분석 (Result Analysis)
- 많은 evaluation metrics를 측정해 본다고 했는데
- 시작전에 어떤 evaluation metrics를 최적화 해야 할지 정하는게 좋다
리뷰 (Review)
- 알고리즘을 리뷰하는 과정
적용 (Deployment)
- 코드들을 class-based API로 변환
- init(), train(), predict(), upload_model(), download_model() 등
- unit test 와 pip packaging
버전 관리
프로젝트의 최종 목적은 초기의 목적 혹은 미리 정해놓은 KPIs (Key Performance Indicators) 최적화 하는 데 있다. 하지만 첫 술에 배부를 수는 없는 법, 가장 중요한
것은 최소한의 실현 가능한 Product (Minimum-Viable-Product) 를 먼저 구현하는 것
이 중요하다. 연구부문에서 business 부문과 일 할 때도 많이 중요한 듯.
MVP버전이 끝나고 나면 다음 버전에 대해서 다시 구현 할 혹은 테스트 할 hypothesis를
정하고 단계별로 계속 버전을 업그레이드 해나갈 수 있다.
프로젝트 단계와 버전 관리에 대해서 요약해 봤지만 연구는 항상 생각하는대로 되면
연구가 아니다. 하지만 위의 프로젝트 단계와 버전 관리를 통해서 통제할 수 있는 범
위내에서 연구와 delivery를 같이 관리해 나가는 데는 도움이 될 듯 하다.
원문보기: https://towardsdatascience.com/data-science-agile-cycles-my-method-for-managing-data-science-projects-in-the-hi-tech-industry-b289e8a72818