본문 바로가기
Programming/Knowledge

[데이터사이언티스트 독학 04] 취업하고자 한다면 데이터 사이언스 프로젝트를 수행하라

by 지표덕후 2021. 8. 26.
반응형

싱가폴 출신의 데이터 사이언티스트, Travis Tang님의 아티클을 번역한 글입니다.
데이터 사이언티스트 wannabe라면, 일독할 가치가 충분한 글입니다.
Travis Tang님은 화학공학을 전공했지만 테크기업에서 데이터 분석가로 사회생활을 시작했습니다.
몇 차례에 걸쳐 포스팅 될 그의 이 아티클은 화학공학도가
데이터 사이언티스트로 일하기까지의 여정과 필요한 스킬셋(skill set)을 구체적으로 담고 있습니다.


데이터 사이언티스트로 취업하고자 할 때 면접에서 가장 자주 들었던 질문 중 하나는 이것이었습니다.

어떤 데이터 과학 프로젝트를 수행했습니까?

 

데이터 사이언티스트 직무의 인터뷰라면 이 질문이 안 나올 수가 없습니다. 특히 데이터 사이언스에 대한 정식 교육과정을 이수하지 않은 사람의 경우에는 실제 수행한 데이터 사이언스 프로젝트에 대해 잘 답변할 수 있어야 다른 후보자 대비 경쟁력을 가질 수 있을 겁니다. 바로 아래와 같은 측면에서요,

  • 당신이 가지고 있는 데이터 사이언스 관련 테크닉을 증명할 수 있습니다.
  • 데이터 사이언스 분야에 대한 배움의 열정과 헌신을 보여줄 수 있습니다.
  • 프로젝트의 주제는 당신이 어떤 주제에 관심을 가지고 있는지 보여줄 겁니다.

이런 점에서 저는 데이터 사이언스 학습자로서 어떤 프로젝트를 수행하고자 한다면 아래와 같이 조언하고 싶습니다.

당신이 가진 역량과 관심분야에 대한 당신만의 통찰력을 보여줄 수 있는
인상적인 프로젝트를 구축하십시오.

 

이 게시물은 이를 수행하는 방법에 대한 간단한 지침을 세 가지 꼭지로 제공합니다.

01 전제 조건: 어떤 지식이 필요합니까?
02 워밍업: 첫 번째 데이터 과학 프로젝트
03 브레인스토밍: 3가지 질문으로 완벽한 프로젝트 아이디어 찾기

1. 전제 조건: 어떤 지식이 필요합니까?


프로젝트를 시작하기 전에 기술적인 지식과 코딩에 대한 지식을 복습하는 것이 좋습니다. 이렇게 하면 프로젝트 실행 중의 학습곡선의 기울기(즉, 학습에 투여한 시간 대비 학업 성취도)가 줄어듭니다. 즉, 프로젝트를 실행하는 중간에 지식의 깊이가 급격하게 달라짐으로 발생하는 마찰이 줄어듭니다. 이러한 지식이 없이 프로젝트를 시작하면 중간에 막히거나 문제에 맞닥뜨려 좌절하게 될 수 있습니다.

코딩언어(R 또는 Python) 및 기계학습 알고리즘에 대한 기본 지식을 갖추고 시작하는 것을 추천합니다. 어떤 소스로부터 이런 지식들을 배울 수 있는지 알고자 한다면 아래의 포스팅을 먼저 참고해보세요.

1부 — SQL, Python 및 R을 사용한 데이터 처리
2부 — 수학, 확률 및 통계
3부 — 컴퓨터 과학 기초
4부 — 기계학습(머신러닝)
5부 — 첫 번째 기계학습/데이터사이언스 프로젝트 구축(본 게시물의 내용)

2. 워밍업: 첫 번째 (모의) 데이터 과학 프로젝트


프로그래밍 언어를 배울 때 첫 번째 단계는 "hello world!" 구문을 출력하는 것입니다. 마찬가지로 데이터 사이언스에 있어서 "hello world"는 간단한 데이터셋을 가지고 프로젝트 하나를 완수해보는 것입니다.

이러한 경험을 통해서 데이터 사이언스 프로젝트의 전반을 한 바퀴 돌아볼 수 있는데요. 해당 주제의 산업을 이해하는 데에서 시작하여 데이터를 준비하고, 데이터에 맞추어서 모델링을 하고, 모델을 평가하고 배포하는 것이 이 '한 바퀴'에 포함됩니다.

 

다음은 데이터 사이언스 프로젝트의 워밍업으로 시작하면 좋을 몇 가지 예시입니다:

 

타이타닉 생존 프로젝트

내가 가장 좋아하는 초보자 친화적인 프로젝트는 이 Titanic Survivorship Project입니다. 이 데이터세은 타이타닉 난파선에서 살아남은 승객을 예측하는 데에 기계학습 모델을 사용합니다.

이것이 첫 번째 프로젝트로 삼기 좋은 이유는 두 가지입니다. 첫째, 데이터셋이 매우 깨끗하며 정제를 위한 여러 가지 조치가 필요하지 않습니다. 둘째, 이 데이터셋에 대해서는 초심자가 참고할 만한 모범적인 선례 프로젝트가 많이 있습니

예를 들어, 제가 이 프로젝트를 구현할 때 여러 가지 부분에서 참고한 몇 가지 노트(notebooks)가 있습니다.

Titanic Data Science Solutions
Using data from Titanic - Machine Learning from Disaster

Introduction to Ensembling/Stacking in Python
Using data from Titanic - Machine Learning from Disaster

A Data Science Framework: To Achieve 99% Accuracy
Using data from Titanic - Machine Learning from Disaster

 

주택 가격 예측

초심자들이 활용하기 좋은 또 다른 데이터셋은 주택 가격 예측 데이터입니다. King’s Housing data set 데이터셋은 적당한 수의 속성(feature)을 제공하는 비교적 깨끗한 데이터셋입니다. 모방해볼 수 있는 몇 가지 훌륭한 노트도 있습니

House Sales in King County, USA
Predict house price using regression

이미 여러 번 수행한 프로젝트는 수행하지 말라는 금언이 있습니다. 만약 데이터 사이언스 실무자가 익히 많이 재활용된 프로젝트를 사람들에게 선보인다면, 아마 청자는 이 프로젝트에서 해당 실무자의 고유한 영역이 얼마나 될지 의구심을 품을 겁니다. 불필요한 표절 의혹을 피하기 위해서는 독창적인 프로젝트를 시도해보시길 강하게 권합니다.

자 그럼 새롭고 흥미로운 프로젝트를 찾는 방법은 무엇일까요. 이번 포스팅에서 저는 이 주제에 대해 주로 다루려 합니다.


3. 브레인스토밍: 세 가지 질문으로 완벽한 프로젝트 아이디어 찾기



프로젝트 브레인스토밍 단계는 이 다이어그램에 나와 있는 것처럼 세 가지 필수적인 질문으로 이루어집니다.

 

 

세 가지에 대한 답을 얻으면 세 가지의 중간에 무엇이 있는지 알아낼 수 있습니다.

  • 프로젝트의 주제는 무엇입니까? 당신이 관심이 있거나 잘 알고 있는 주제가 무엇입니까?
  • 이 프로젝트의 오디언스는 누구입니까? 나는 어떤 이들을 위해 이 프로젝트를 수행합니까?
  • 이 프로젝트를 통해 어떤 기술셋을 증명해보이고 싶습니까? 데이터를 시각화것입니까, 혹은 기계학습 모델을 훈련하는 데에 더 방점을 두고 있나요?

조금 더 자세히 설명하겠습니다.

 

프로젝트의 주제는 무엇입니까?

프로젝트의 주제를 잡았다면 당신은 거기에 대해 당신만의 독특한 통찰을 제공해야 합니다. 그러니 당신이 열정을 쏟고 있는 분야, 기발하고 흥미로운 분야, 또는 지원고자 하는 회사와 관련된 것이면 좋겠습니다.

 

당신이 마케팅 백그라운드를 가지고 있다면, 고객세분화(customer segmentation)와 관련된 프로젝트를 잘 하실 수 있을 겁니다.

스포츠 덕후이십니까? 아마도 스포츠 분석을 재밌게 하실 수 있을 겁니다. list of sports-related data sets에 가시면 스포츠 관련 데이터셋을 제공받을 수 있습니다.

금융에 대한 배경지식이 있습니까? 아마도 은행이나 금융 관련 데이터셋을 찾을 일이 있을 겁니다. 신용카드 사기(fraud) 탐지는 아마 잘 알고 있는 주제일 겁니다.

제가 적은 내용은 선택할 수 있는 수많은 선택지 중 극히 일부에 불과합니다. 스스로에게 물어봐야 합니다. 관심 있는, 열정을 쏟아보고 싶은 주제가 무엇인지요.

오늘날 데이터 사이언스 학습자는 클릭 한 번으로 훌륭한 데이터셋을 득할 수 있습니다. 다음은 데이터 사이언티스트들 사이에서 인기 있는 몇 가지 데이터 소스입니다.

 

이 프로젝트의 오디언스는 누구입니까?

디지털 마케팅 회사에 관심이 있으십니까? 아니면 스타트업? 데이터 컨설팅 회사? 아니면 대기업?

가능하다면 당신이 관심을 두고 있는 산업, 혹은 기업의 관점에서 프로젝트 아이디어를 각색해야 합니다.

왜 그럴까요? 만약 관심있는 회사와 연관도가 높은 프로젝트를 선보인다면 당신은 그 기업이 직면한 문제를 잘 인식하고 있을 뿐만 아니라 그 문제를 해결할 수 있는 역량도 가지고 있다는 걸 증명하는 셈이기 때문입니다.

인사 담당의 입장이 되어 스스로에게 물어보십시오. 우리 회사와 연관이 있는 프로젝트는 뭘까요? 어떤 프로젝트에 나는 깊은 인상을 받을 수 있을까요?

예를 들어 Amazon과 같은 전자상거래(e-commerce) 회사에 취업하고자 하는 경우, 아래와 같은 프로젝트가 관련성 높을 것입니다.(여기 참고할 만한 좋은 게시물이 있습니다)

  • 고객을 위한 추천시스템
  • 고객 생애가치(LTV, Lifetime value) 모델 구축
  • 고객 유지(retention) 및 이탈(churn) 모델 구축
  • 사기 탐지(fraud detection)

 

이 프로젝트를 통해 어떤 기술셋을 증명해보이고 싶습니까?

 

데이터 사이언티스트의 기술셋은 사실 다소 광범위하고 모호합니다. 기업마다 요구사항이 다를 수 있습니다. 따라서 어떤 기술을 증명하고 싶은지 알아보기 위해서는 이상적인 역할과 역량에 대해 조사할 필요가 있습니다. 직무기술서(JD, Job description)을 참고하면 좋습니다.

job description of a data scientist을 참고해서 데이터 사이언티스트들에게 보편적으로 요구되는 핵심 테크닉과 역량을 숙지하십시오.

  • 데이터 정제(R tileverse 또는 python pandas를 활용하여)
  • 데이터 시각화(R ggplot2, python matplotlib 또는 seaborn을 활용하여)
  • 대시보드(R Shiny, Tableau, Google data studio를 활용하여)
  • 확률과 통계
  • 머신러닝/기계학습 알고리즘(회귀, 분류, 클러스터링, 차원 축소, 강화 학습 등)
  • 딥 러닝 알고리즘(자연어 처리, 시각 데이터 처리 등)

하나의 특정 프로젝트에서 모든 기술셋을 드러내 보인다는 것이 불가능할 수도 있습니다. 따라서 드러내고 강조할 기술셋 일부를 전략적으로 선택하시길 권장합니다.

프로젝트를 구축해나갈 때 이 질문을 스스로에게 반드시 하십시오.

이 프로젝트는 이런 저런 기술셋을 내가 보유하고 있다는 사실을
 드러내기에 적합한 프로젝트인가?

프로젝트 관련 영감을 얻고자 할 때,


다음은 프로젝트에 대한 아이디어와 영감을 얻고자 할 때 살펴볼 만한 몇 가지 리소스를 추가로 소개합니다.

  • Analytics India Mag의 Data Science Project Ideas는 실행 가능한 프로젝트에 대한 아이디어를 제공할 겁니다.
  • Ken Jee의 YouTube 채널은 매우 흥미진진한 데이터 사이언스 프로젝트 사례를 제공합니다.
  • fivethirtyeight는 시사문제에 대한 아주 세련되고 통찰력 있는 시각화를 제공합니다.

글을 맺으며,


 

데이터 사이언스 프로젝트를 꾸린 경험은 이 분야에서 제 커리어를 시작하는 데 분명 도움이 되었습니다. 만약 데이터 사이언스 업계에 진출하고자 하신다면 당장 오늘부터 프로젝트에 대한 아이데이션을 해보시길 바랍니다.


다른 읽을거리


이 포스팅을 재미있게 읽으셨다면, 기계학습에 대한 아래 아티클도 좋아하실 것 같습니다.

 

반응형

댓글