데이터과학자 스킬셋

데이터과학자 스킬셋 (Data scientist skill-set) #

데이터과학자가 되려면 데이터과학자에게 필요한 스킬셋을 갖춰야 한다. 간단하게 정리하기는 어렵지만 크게 3개의 분류로 나눌 수 있다.

  • 컴퓨터 엔지니어링: 코딩, 프로그래밍
  • 데이터 분석: 통계, 수학, 알고리즘, 확률, 논리
  • 설득 및 설명: 프리젠테이션, 글쓰기, 데이터시각화

각각을 자세히 알아보자.

컴퓨터 엔지니어링 #

컴퓨터 엔지니어링은 코딩만을 뜻하는 것이 아니다. 컴퓨터를 활용할 수 있는 전반적인 능력을 말한다. 소프트웨어 사용법 같은 것도 포함된다. 마이크로소프트 엑셀에서는 코딩을 하지 않아도 되지만, 데이터 분석을 할 때 엑셀도 빈번하게 사용한다. 활용 능력 중에서 가장 중요한 것은 프로그래밍 능력이다. 과거에는 수학이나 통계학을 하기 위해서 프로그래밍 능력이 꼭 필요하지는 않았다. 하지만 지금은 데이터를 처리하기 위해서는 프로그래밍 기술 활용이 필수이다. Excel과 다른 통계분석툴로도 데이터과학을 할 수 있지만, 변화가 많은 상황에 유연하게 대처하면서도 빠른 작업 진행이 필요하기 때문에 결국 자동화가 필요하다. 자동화를 위해서는 프로그래밍 능력이 반드시 필요하고, 데이터과학자는 자동화 기술을 잘 활용할 수 있어야 한다. 능숙한 컴퓨터 언어가 최소 1개 이상은 있어야 한다. 그리고 활용 범위가 넓은 범용 언어인 것이 좋다. Python과 R이 데이터과학을 위한 언어로 많이 쓰이는 것은 프로그래밍을 하면서 데이터과학의 근본에 더 집중할 수 있기 때문이다.

데이터 분석 관련 학술 지식 #

데이터 분석과 관련된 학술 분야는 매우 넓다. 이 중에 특별히 어떤 학문을 전공한다고 해서 특별히 데이터과학에 유리하다고 할 수는 없다.

  • 수학
  • 컴퓨터공학
  • 통계학
  • 경영과학
  • 계량경제학
  • 금융공학
  • 물리학
  • 각종 엔지니어링, 공학, 이학 계열

데이터과학 학과 #

최근에 많은 대학교들이 융합과정 또는 최신 기술 동향을 반영한 커리큘럼을 적용하기 위해 데이터과학학부, 데이터융합학부 같은 용어로 데이터과학 전공을 만들어내고 있으며, 그런 곳에 진입하는 학생들이 늘고 있다.

만약 독자가 대학의 데이터과학과에서 공부하고 있다면 위에서 열거한 학문들을 골고루 얇게 일부만 배울 것이다. 그래서 데이터과학을 전공했고 졸업했다고 해서 데이터과학을 능숙하게 할 수 있다고 생각해서는 안 된다. 위의 학문을 모두 다루는 학부 또는 학과를 새로 만들었다고 해서 이런 깊은 공부가 필요한 학문들을 모두 한번에 다 익히게 할 수는 없다.

통계학과 데이터과학 #

그 외의 학문 중에서 데이터과학에 가장 적합한 전공은 컴퓨터공학과 통계학이라고 할 수 있다. 데이터과학자의 상당수가 컴퓨터공학 전공자이며, 그 다음으로 통계학 전공자가 많은 것이 그 증거라고 할 수 있다. 하지만 이런 전공을 선택하는 것이 유리한 출발점이 되는 것은 점점 사라지고 있다. 데이터사이언스가 빠른 속도로 일반화되고 있기 때문이다.

현대의 학술 분야와 데이터과학 #

사실상 현대의 학술에서 공학과 관련된 곳은 대부분 데이터를 다룰 수밖에 없고, 인문학에서는 숫자와 돈을 다루는 학문은 모두 데이터를 다루는 학문이라고 볼 수 있다. 공학이나 이학을 전공한 사람들은 이상하게 생각할지 모르지만, 경영, 경제, 금융에서도 데이터과학을 하며 프로그래밍도 한다. 순수 인문학이나 예술과 관련된 학문이 아니라면 현대에는 대부분 수학과 컴퓨터공학을 다른 학문에서도 적극 활용할 수밖에 없는 도구라고 볼 수 있다. 따라서 수학과 컴퓨터공학은 데이터과학의 필수이며, 다른 학문들과도 관련이 매우 깊다고 할 수 있다.

수학 (Mathematics) #

수학은 공학계열에서 반드시 학습해야 하는 기초 대수학에 포함되는 선형대수, 미분, 적분, 미분방정식까지는 기본 학습이 되어야 한다. 이 수학들은 대수학에서 가장 쉽고 기초가 되는 수학들이며, 공학을 전공한 사람들은 이런 대수학을 필수로 알아야 한다. 공개된 소스코드나 튜토리얼을 보고 기계학습 모델을 생성하고 따라한다고 데이터과학자가 될 수 있는 것은 아니다. 스스로 수리모형을 작성하거나 통계모형을 이해하고 활용할 때도, 기계학습을 할 때도 반드시 필요한 것은 수학 능력이다.

추가로 말할 것은 수학을 전공하고 수학을 매우 잘한다고 해서 데이터과학을 잘하는 것은 아니다. 실제로 데이터과학을 하다가 깊은 내면과 어려운 원리를 이해해서 더 능숙하고 전문적으로 데이터과학을 하려고 한다면 대수학 몇 개는 필수로 학습이 필요하지만, 대수학을 잘한다고 해서 데이터과학을 잘하는 것은 아니다.

수학과를 졸업한 사람 중에 데이터과학을 잘하는 사람은 상상하는 것만큼 많지 않다.

컴퓨터 공학 (Computer Science) #

컴퓨터 없이 데이터과학을 하는 것은 불가능하다. 컴퓨터공학의 매우 깊은 하단까지 데이터과학자가 반드시 이해해야 하는 것은 아니지만, 컴퓨터의 구조, 원리, 작동방식, 소프트웨어 기술을 알게 되면 작성한 모델을 구현하고 전개할 때 매우 유리하다. 그리고 만들어진 모형은 정확도와 같은 성능도 중요하지만 수행속도와 같은 고속연산도 필요하다. 딥러닝을 하는데 TPU의 원리나 작동방식을 이해하지 못한다면 원하는 결과를 얻기 위해 여러 장벽에 부딪힐 수 있다.

특히 컴퓨터 언어는 여러 가지를 익혀두는 것이 필요하다.

Python, R, C/C++, Java, Javascript, Shell script, Scala, Matlab, Mathematica 등 익혀두어야 할 것이 많다. 하나의 컴퓨터 언어로만 데이터과학을 하려고 한다면 불가능한 것은 아니지만 분명 한계에 부딪힐 것이다.

통계학 (Statistics) #

통계학은 원래 응용수학에 대한 학술분야라고 할 수 있다. 데이터사이언스를 시작하기에 가장 유리한 학술 분야이지만, 최근의 순수 통계학은 이론에 집착하는 경향이 매우 많다. 반면 응용통계학은 수학, 컴퓨터공학 능력을 겸비할 수밖에 없어 여전히 좋은 출발점이라고 할 수 있다.

통계학은 데이터과학의 효시이다.

경영과학 (Operations Research) #

경영과학은 영어로 “Operational Research” 또는 “Operations Research"라고 한다. 기업운영을 하는데 필요한 것을 연구하는 것인데, 경영과학 또는 경영공학이라고도 한다.

경영과학은 대부분 최적화(Optimization) 문제를 해결하는 것에 집중한다. 따라서 높은 수학적 능력이 필요하고 역시 컴퓨터 활용 능력이 필수이다. 경영과학에 대해서 사전지식이 전혀 없다면, 경영과학에서 하는 것이 물건의 수요예측, 택배의 배송 경로 최적화, 공장에서의 최적 재료 혼합비, 최적 생산 비율, 엘리베이터의 최적 이동, 신호등 조절을 통한 통행량 관리 등과 같은 문제의 해결책을 찾는 것이라고 알아두면 쉬울 것이다.

설득 및 설명 능력 #

설득 및 설명은 인문학적 소양이다. 데이터를 해석하고 가치를 찾아내고 가설을 검증한 뒤에 할 일은 누군가에게 설명을 하는 일이다. 설명을 하기 위해서는 조리 있게 설명을 하고 전달하려는 바를 명확히 전달할 필요가 있다.

전달을 할 때 데이터과학자는 보통 다음과 같은 최종 결과물을 생산한다.

  • 시각화
  • 프리젠테이션
  • 리포트

설득을 위한 설명을 할 때 중요한 것은 다음과 같다.

  • 쉽게
  • 논리적으로
  • 사실만

데이터과학의 결과물은 데이터 분석 리포트가 될 수도 있고 작성한 모형을 배포한 소프트웨어 구현체일 수도 있지만, 대부분 리포트를 작성하게 된다. 리포트는 보는 사람이 결과를 알아보기 쉽게 작성해야 한다. 설명을 어렵게 기술하지 않아야 하며, 시각화와 도표 등을 잘 활용해야 한다.

시각화는 기술과 예술의 중간쯤에 해당한다. 미적 감각도 필요하며 연습도 필요하고, 프로그래밍이나 컴퓨터 소프트웨어 활용 능력이 필요하다. 연습을 통해 예술 작품을 만드는 것까지는 아니더라도, 왜곡 없이 사실을 표현해서 주목도를 높이고 이해를 쉽게 할 수 있는 능력이 필요하다.

프리젠테이션은 설명의 능력이다. 여기서 말하는 프리젠테이션 능력은 청중에게 잘 설명해서 현혹시키는 그런 것을 말하는 것이 아니라, 잘 정돈된 스토리라인에 따라 전달하려는 바를 잘 전달하는 것을 말한다. 파워포인트와 같은 발표 문서를 잘 작성하는 것도 여기에 포함되며, 표현 문구를 쓸 때도 고심해서 작성해야 하며 그런 능력도 필요하다. 보통 작성한 리포트를 말로 설명하기 위해서 재구성하는 경우가 많다.