Showing posts with label 데이터. Show all posts
Showing posts with label 데이터. Show all posts

(Industry) 회사에서 데이터 사이언스 프로젝트 관리하기

프로젝트 관리 단계



매개 프로젝트를 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