데이터 사이언스(Data Science) 프로세스 정리

이번에는 데이터 사이언스의 전반적인 프로세스에 대해서 정리하도록 하겠습니다. 처음 데이터 사이언스를 공부하면서 다양한 용어와 한가지 주제에 대해서 여러 가지 의견들이 많아서 헷갈렸었는데요. 지금도 마찬가지이지만 지금까지 공부했던 것을 기반으로 나름대로 정리를 해보도록 하겠습니다.



데이터 사이언스 프로세스의 정의

Various Range of Data Science

위의 그림처럼 데이터 사이언스라는 분야가 모호하고 다양한 분야가 겹쳐있는 다제간(Interdisciplinary) 학문입니다. (관심 있으신 분은 제가 정리한 “데이터 사이언티스트가 되어보자. 근데 그게 뭐예요?” 포스팅을 참조해주세요.)

그래서 서두에 말씀드린 것처럼 이것이 진리라고 할만한 정답은 없는데요. 다양한 분야에서 프로세스에 대해서 정의하는 것을 보다 보면 데이터 사이언스 프로세스에 대해서 이해하는데 도움이 되는 것 같습니다. 그럼 지금부터 학문적인 부분과 실무적인 측면 등 여러 관점에서 데이터 사이언스를 어떻게 설명하고 있는지 정리해보도록 하겠습니다.

CS109 Data Science in Harvard University

넓은 학문적인 시야에서 보면 아래의 하버드 대학의 CS109 강의에서 소개하는 데이터 사이언스 프로세스 이미지를 보시면 좋을 것 같습니다.

data science process image from CS109 in Harvard

위의 그림을 보시면 아래처럼 정리할 수 있습니다.

  1. 문제(질문하기) 정의
  2. 데이터 모으기
  3. 데이터 탐색하기
  4. 모델링
  5. 결과 시각화 및 전달

그리고 위에서 가장 중요한 것은 ‘화살표’처럼 각 과정이 반복해서 수행된다는 점입니다.

데이터 사이언스라는 이름처럼 과학(Science)이라는 학문적인 분야 안에서 보면 올바른 연구 주제(문제)를 정의하고 거기에 대해 연구 수행 방법론을 찾고 실행한 후의 결론까지 도달하는 연구 방법과 같다고 보시면 이해하기 쉬울 것 같습니다.

KDD Process

KDD는 Knowledge Discovery in Data-Base의 약자입니다. SIGKDDKDnuggets를 만드신 Shapiro박사님이 1989년에 처음 사용하셨다고 하는데요. 그만큼 오래된 용어입니다. 요즘은 데이터 사이언스, 머신러닝과 같은 용어가 널리 사용되어서 거의 듣기는 어렵기도 하지만 알아두면 유용할 것 같습니다. KDD를 소개한 논문에서 나온 프로세스를 소개하면 아래와 같습니다.

KDD process

논문을 바탕으로 위의 이미지를 정리하면 다음과 같이 여섯 단계로 볼 수 있습니다.

  1. 고객 관점으로부터 목표 정의(Understanding)
  2. 데이터 선택(Selection)
  3. 데이터 전처리(Preprocessing)
  4. 데이터 변형(Transformation)
  5. 데이터 마이닝(Data Mining)
  6. 해석 및 평가(Interpretation/Evaluation)

이전에 소개한 프로세스보다는 실무적인 프로세스인 것 같습니다. 데이터베이스로부터 데이터를 선택하고 준비(전처리, 변형)하고 모델링을 하는 데이터 마이닝과 해석과 평가 단계로 나누어져 있습니다.

CRISP-DM

CRISP-DM(Cross Industry Standard Process for Data Mining)은 데이터 마이닝(Data Mining) 분야에서 일반적으로 알려진 프로세스입니다.

데이터 마이닝(Data Mining)이란? 머신러닝, 통계, 데이터베이스 방법을 포함하는 대량의 데이터로부터 패턴을 발견하는 과정

data science process image from CS109 in Harvard

CRISP-DM을 한눈에 볼 수 있도록 도식화된 이미지입니다. 단계별로 화살표로 수행되며 반복된다는 것을 확인할 수 있습니다.

순서를 정리하면 아래와 같습니다.

  1. 비즈니스 이해(Business Understanding)
  2. 데이터 이해(Data Understanding)
  3. 데이터 준비(Data Preparation)
  4. 모델링(Modeling)
  5. 평가(Evaluation)
  6. 개발(Deployment)

앞에서 설명한 CS109 강의에서 프로세스와 비교하면 비슷하면서 다른 부분이 있습니다. 바로 ‘Data Preparation’과 ‘Development’인데요. CRISP-DM은 산업 현장에서 사용되었던 방법론이라 학문적인 프로세스 보다 구체적이면서 실무적인 측면이 강조된 프로세스라고 생각하면 될 것 같습니다.

Data Science Process from ‘Doing Data Science’

제가 최근에 살펴본(다 읽지는 못했습니다…) O’Reilly에서 나온 ‘Doing Data Science’를 마지막으로 살펴보겠습니다.

data science process in doing data science

처음 위의 프로세스를 봤을 때는 복잡하다고 생각했었습니다. 그래도 찬찬히 살펴보니 제가 최근에 공부하면서 알아간 최신의 프로세스와 앞서 설명 드린 전반적인 프로세스를 잘 반영한 그림 같습니다.

특징적인 것을 살펴보면, ‘Real World’라는 부분에서 비즈니스 뿐만이 아니라 다양한 분야의 문제를 정의한다는 측면이 있습니다. 그리고 모델링이라고 간추려서 설명한 것이 아니라, 머신러닝과 통계 모델을 세부적으로 나타내었습니다. 마지막으로 인상 깊었던 것은 최종 결과가 1) 의사결정을 지원하는 것과 2) 실제 제품으로 만들어져서 문제를 정의한 세상에 기여한다는 점입니다.


결론

지금까지 다양한 프로세스를 살펴보았는데요. 서두에서 말씀드린 것같이 한 가지 정답은 없는 것 같습니다. 다만, 가장 넓고 핵심적인 것을 본다면 첫 번째로 소개해드린 CS109 강의자료를 참고하면 좋을 것 같습니다. 그리고 실무적인 부분에서 프로세스는 나머지 소개해드린 프로세스를 참고하기를 추천합니다.

이번에 데이터 사이언스 프로세스를 정리하면서 저 나름대로 프로세스를 정리해보았습니다.

data science process by Sangwon

새로 보이는 용어들이 많은데요. 해당 용어에 대해서는 다음에 따로 정리하도록 하겠습니다. 위에 프로세스가 제가 지금까지의 경험을 바탕으로 정리한 것이기 때문에 앞으로 공부하면서 다시 수정될 수 있습니다.

저의 목표는 저 프로세스를 처음부터 끝까지 해보는 것입니다. 일반적으로 Real World, 즉 우리가 사는 세상에서 문제를 찾아 데이터 사이언스를 통해 의사결정 또는 제품을 만들어 다시 세상에 기여하는 전체 프로세스를 경험하는 것은 정말 어렵고 소중한 경험일 것입니다. 저도 공부하는 입장에서는 이미 주어진 문제와 데이터에서 결과까지 만드는 것이 전부였습니다. 하루빨리 세상의 문제를 해결하여 사회 혁신을 만드는 데이터 사이언티스트가 되길 기대해봅니다.


References

  1. CS109 Data Science in Harvard University

  2. The Data Science Process, Rediscovered

  3. CRISP-DM in Wikipedia

  4. Data Science process from O’Reilly