Data Science 프로젝트 코드 작성 요령
포스트 난이도: HOO_Senior
# Data science project
데이터 사이언스 관련 프로젝트를 사용할 때 노트를 활용해서 라이트 하게 작업을 수행하기도 한다.
과거에는 로컬 주피터랩과 같은 노트를 통해서 작업을 수행했지만 요즘에는 다양한 클라우드 기반 노트를 활용하여 작업을 수행하는 편이다.
이번 포스트에서는 클라우드 기반 노트로 데이터 사이언스 프로젝트를 수행할 때 필자가 어떤 방식으로 노트를 작성하고 시작하는지에 대해서 이야기를 나눠보려고 한다.
# 플로우차트는 기본이다.
필자가 늙은이라서인지는 모르겠지만 머리로 모든 프로젝트의 과정을 정리하기가 어렵다.
물론 간단한 작업은 바로 코딩 작업을 통해 마무리할 수 있지만 Data science 프로젝트와 같이 여러 데이터를 가져오고 가공하여 활 요하는 작업에 있어서는 계획을 미리 정해놓으면 작업하는데 수월하다.
그중에 대표적인 방식인 플로우 차트를 활용한다.
외부에 공개하거나 다른 팀 멤버와 작업을 같이 하지 않는다면 굳이 완벽하게 플로우 차트를 작성할 필요가 없다.
한마디로 플로우 차트에 굳이 시간을 많이 투자할 필요는 없다는 것이다.
본인이 프로젝트를 수행하는 데 있어서 알아볼 수 있는 방식으로 심플하게 작성하는 것이 효율적이다.
이 작업이 굳이 필요없어 보일 수도 있지만 전반적인 흐름에 대해 파악하고 오류나 문제가 발생하더라도 플로우 차트를 통해 문제점을 이해하고 분석하는데 도움이 된다.
특히 여러 데이터를 종합하여 다루거나 새로운 데이터가 특정 프로세스에 포함되는 프로젝트라면 플로우 차트를 미리 작성해놓고 프로젝트를 진행하는 것이 매우 도움이 된다.
몇 개월에 걸쳐서 지속적인 업데이트가 이루어지는 데이터 사이언스 프로젝트 특성상 프로젝트의 방향성이나 특정 프로세스를 잊어버리는 경우가 종종 있다.
필자는 지금도 프로젝트를 시작하기 전에 계획서를 작성하듯이 나만의 플로우 차트를 그려보곤 한다.
# import 라이브러리는 먼저 작성
앞서서 플로우 차트와 같은 코딩에 대한 계획서가 작성이 되었다면, 사실 사용할 라이브러리를 작성하는데 거리낌이 없다.
어떤 라이브러리를 사용할 지를 이미 다 어느 정도 알고 있기 때문에 바로 import 하여 작성이 가능하다.
물론 코딩 과정이나 데이터 학습 과정에서 추가적인 라이브러리가 필요하거나 필요없어질 수도 있다.
이때는 부분적 수정만 하면 되기 때문에 미리 import하여 작성하는 것에는 전혀 문제가 없다.
필자가 사용할 라이브러리와 function 또는 method을 대부분 미리 선언하면 좋다는 이유는 중간에 발생할 에러에 곤란해할 필요가 없기 때문이다.
프로젝트의 덩치가 커지면 import 선언을 깜빡하여 발생하는 에러 문제를 찾아내기가 여간 곤란하다.
한 번에 보이면 다행이지만 여러 번 작업이 걸쳐져 있는 경우에는 문제점을 파악하기 어렵다.
설마 import를 하지 않아서 문제가 되겠어라는 마음으로 다른 문제점들을 고려하다 보면 사실상 효율성이 저하된다.
따라서 처음에 사용할 라이브러리나 기능들에 대한 선언이 모두 이루어진 다음에 최종적으로 사용하지 않거나 굳이 필요 없는 기능 및 라이브러리는 삭제만 하면 된다.
이 작업이 익숙해지고 나면 나중에는 플로우 차트와 같은 계획서를 별도로 확인하지 않더라도 특정 프로젝트 유형에 대한 라이브러리나 기능들을 자연스럽게 선언하고 있는 자신의 모습을 볼 수 있게 된다.
그러기 위해서는 위와 같은 습관을 들이는 것이 중요하다.
# epoch 값과 같은 ML에 필요한 세팅 값을 미리 array로 지정하는 것이 좋다.
머신러닝을 돌리는데 있어서 필요한 세팅 값들이 있다.
컴퓨터는 스스로 알지 못하기 때문에 학습을 몇 번 하고 어떻게 할 것인지도 세팅해줘야 한다.
이때 학습에 대한 세팅 부분을 array로 우선적 작성을 해주는 것이 좋다.
학습 세팅 값도 상황에 따라 변경해줘야 하는 경우가 자주 있다.
그런데 이 학습 세팅 array가 중간에 있거나 array로 구성이 되어 있지 않고 나눠져 있을 경우 찾아서 수정하기가 어렵다.
현실에서 효율성을 고려하지 않을 수 없기 때문에 학습에 대한 세팅 값을 찾기 쉬운 위치에 두는 것이 좋은데 대부분 위 쪽에 미리 선언해주거나 작성해주는 것이 도움이 된다.
# def 작성을 우선적으로 하면 편하다.
Python을 활용한 데이터 사이언스 프로젝트는 def, 즉 정의가 중요하다.
def를 통해 산출하고자 하는 결과를 선언해줄 수 있기 때문에 def로 시작해서 def로 끝난다고 볼 수 있다.
def가 있기 때문에 파이썬이 다른 언어들에 비해 짧게 코딩이 가능한 것도 사실이다.
그렇기에 def를 통해서 어떤 결과를 산출하고 싶은지에 대해서 미리 블록 지정을 통해 작성해 놓는 것이 좋다.
마치 조형물을 만들기 전에 뼈대를 미리 설치해놓듯이 def를 통해 어떻게 데이터 사이언스 프로젝트에 결과를 산출해낼 것인지를 사전에 정리해놓는 것이다.
'AI & Data' 카테고리의 다른 글
[Data Science] 데이터 사이언스 코드 작성 요령: 디렉토리, 파일명 선언하기 (0) | 2022.07.08 |
---|---|
[Data Science] Excel CSV 파일에서 한글 깨짐 현상 해결 방법: 메모장 활용하기 (0) | 2022.07.07 |
[Data Science] Side Project: Paddy Doctor (0) | 2022.07.03 |
[Data Science] Side Project: VAST Challenge 2022 (0) | 2022.07.02 |
[데이터 사이언스] 캐글 프로젝트(Kaggle Project): Foursquare - Location Matching (0) | 2022.06.11 |
댓글