What is Data Science

  1. Data Science Process는 원시 데이터에서 가치 있는 통찰력을 추출하기 위한 일련의 절차나 단계입니다. 다양한 Data Science Project의 유형과 목적에 따라 프로세스의 세부 단계는 약간 다를 수 있지만, 일반적으로 아래의 주요 단계를 포함하고 있습니다.



  2. Industry Understanding

    데이터 과학 프로세스에서 산업 이해(Industry Understanding)는 Data Science Project의 초기 단계에서 중요한 역할을 하고 있습니다. 이 단계는 프로젝트가 성공하기 위해 필요한 산업 관련 문제의 근본적인 이해 즉, 산업의 특정 문제점을 파악하고 산업의 특성과 관련된 잠재적인 위험을 이해하며 이를 데이터 과학의 관점에서 접근하기 위해 필요합니다. 산업의 특성을 알면, 어떤 데이터를 분석해야 할지, 어떤 질문에 답해야 할지, 어떤 특성이 중요한 지에 대한 방향성을 설정할 수 있고 산업에 대한 깊은 이해는 데이터 과학자가 실제 세계의 문제에 맞게 모델을 조정하고 개선하는 데 도움이 되며, 해당 분야의 이해 관계자와의 커뮤니케이션에서 브릿지 역할을 하며, 그 분야의 언어와 문맥을 사용하여 결과를 전달하는 데 도움이 됩니다. 



Data Understanding


데이터 이해(Data Understanding) 단계는 데이터 과학 프로젝트에서 주어진 데이터의 구조, 내용, 특성 및 품질을 탐색하고 이해하는 데 중점을 둡니다. 이 단계는 문제의 문맥에서 데이터의 적절성과 한계를 파악하는 데 큰 도움이 되는 과정으로 예를 들어, 특정한 범위의 데이터 값이나 특정한 패턴이 발생하는 경우 전 단계의 산업에 대한 이해를 바탕으로 데이터 이상치, 결측치, 또는 다른 데이터 품질 문제를 더 효과적으로 감지하고 처리할 수 있습니다. 



Data Preparation


데이터 준비(Data Preparation) 단계는 분석과 모델링을 위해 원본 데이터를 정제하고 변형하는 과정입니다. 이 단계는 전체 데이터 과학 프로젝트에서 시간이 가장 많이 소요되는 부분 중 하나이며, 정확하고 효과적인 분석 결과를 위해 꼭 필요한 단계이며, 원본 데이터를 분석 및 모델링에 적합한 형태로 만드는 데 중점을 두고 데이터 정제, 데이터 변환, 데이터 구조변경, 데이터 통합, 샘플링과 같은 업무를 수행합니다.



Model Building


모델 구축(Model Building)단계는 데이터를 기반으로 예측, 분류, 군집화 등의 작업을 수행하기 위해 알고리즘을 훈련하는 과정입니다. 이 단계는 데이터 준비가 완료된 후 수행되며, 데이터에서 의미있는 패턴과 관계를 찾아내는 데이터 과학 프로세스의 핵심 단계입니다. 풀고자 하는 문제의 유형(예: 분류, 회귀, 클러스터링 등)에 따라 적절한 머신 러닝 알고리즘을 선택하고 훈련 데이터를 기반으로 모델을 훈련시키면 이 과정에서 알고리즘은 데이터의 패턴을 학습하게 됩니다. 대부분의 머신 러닝 알고리즘은 성능과 학습 방식을 제어하는 여러 하이퍼파라미터를 가지고 있는데, 그리드 탐색, 랜덤 탐색, 베이지안 최적화 등의 방법을 사용하여 최적의 하이퍼파라미터 값을 찾을 수 있고 이 값을 튜닝하면서 모델의 성능을 최적화할 수 있습니다.



Evaluating Model


모델 평가(Model Evaluation)단계는 훈련된 머신 러닝 모델이 얼마나 잘 동작하는지를 판단하는 과정입니다. 문제의 유형과 프로젝트 분야의 요구에 따라 적절한 평가 지표를 선택하고 홀드아웃 검증, 교차 검증, 오버피팅 및 언더피팅 감지, 모델비교를 하여 구축된 모델이 실제로 예측하거나 분류하는 데 있어 얼마나 효과적인지를 평가합니다. 이렇게 모델 평가는 구축된 모델이 기대한대로 잘 동작하는지 확인하고 여러 모델 중에서 최적의 모델을 선택하기 위한 기준을 제공하며 앞으로 어느 부분에서 개선이 필요한지를 파악하고, 다음 단계의 모델 개선 방향을 결정하는 데 도움을 줍니다. 데이터 과학 프로젝트에서 모델의 성능과 그 결과의 신뢰성을 평가하고 검증하는 중요한 단계입니다.


* 평가 지표 선택 

   - 분류 문제: 정확도, 정밀도, 재현율, F1 점수, ROC-AUC 등

   - 회귀 문제: 평균 제곱 오차(MSE), 평균 절대 오차(MAE), R^2 등

*홀드아웃 검증 

   - 데이터를 훈련 세트와 테스트 세트로 분리하고, 훈련 세트로 모델을 훈련시킨 후 테스트 세트로 모델의 성능을 평가

*교차 검증 

   - 데이터를 여러 부분(폴드)으로 나누고, 각 폴드를 테스트 세트로 사용하면서 모델의 성능을 반복적으로 평가하여 모델의 일반화 성능에 대한 더 안정성 검증

*오버피팅 및 언더피팅 감지 

   - 모델이 훈련 데이터에 과도하게 적합하거나(오버피팅), 데이터의 패턴을 충분히 학습하지 못한 경우(언더피팅)를 감지하고 수정하기 위한 작업



Model Deployment


모델 배포(Model Deployment)단계는 개발 및 평가된 머신 러닝 모델을 실제 작업 환경에 적용하여 실시간 또는 일정 기간 동안의 예측 및 분석 작업을 수행할 수 있게 하는 과정입니다. 모델과 사용 사례에 따라 배포전략(웹서비스 제공, 내부시스템 통합 등)을 결정하고 모델을 서버로 변환하여 API(응용 프로그램 프로그래밍 인터페이스)를 통해 액세스 가능하게 만들기도 하고 많은 사용자나 요청을 처리하기 위해 클라우드 기반 솔루션(예: AWS, Google AI Platform 등)을 활용하여 자동 확장 및 부하 분산을 구성하기도 합니다. 배포된 모델 성능을 모니터링하고 필요에 따라 모델을 업데이트하거나 재훈련을 시키기도 합니다. 이 외에도 보안 및 개인정보 보호 규정을 준수하도록  확인합니다. 모델 배포는 데이터 과학 프로젝트에서 실제 가치를 창출하는 마지막 단계이며 배포 없이는 모델은 연구나 실험의 결과에 불과합니다. 배포된 모델을 통해 사용자의 피드백을 수집하고, 이를 바탕으로 모델을 지속적으로 개선할 수 있고 배포된 모델은 다양한 시스템과 통합되어 자동화된 결정 프로세스의 일부로 동작할 수 있게 됩니다.



실제 데이터 과학 프로젝트에서는 위의 여러 단계 간에 반복적으로 움직일 수 있습니다. 예를 들어, 모델 평가 후 원하는 성능에 도달하지 못하면 데이터 전처리나 피쳐 엔지니어링 단계로 돌아갈 수도 있습니다. 모델 배포 후에도 다시 미흡한 점을 수정하여 최적의 모델을 찾고 재배포하는 과정이 데이터 과학 프로세스라고 할 수 있습니다.