데이터 사이언스 공부법 정리

Okim
4 min readMay 12, 2019

I want to study Data Science

*이번 글은 저자의 공부계획이므로 설명보다는 정리에 초점을 맞춘 글입니다.

데이터 분야의 직군

데이터 분석가

의사결정을 위해 가설 및 KPI를 수립하고 그 가설을 데이터로 검증(=분석), 다른 부서에서 요청하는 데이터를 추출해 공유

채용 공고에 자주 나오는 자격 요건

  • 로그 설계
  • 데이터 추출 및 분석
  • 통계 모델링
  • SQL
  • 전사적 의사결정
  • 데이터에 기반한 KPI 기획
  • 가설을 통한 분석
  • 애널리틱스 도구
  • 데이터 시각화

데이터 엔지니어

앱 또는 웹에서 발생하는 데이터들을 파이프라인을 통해 저장소에 저장, 대용량 데이터를 수집하고 관리

채용 공고에 자주 나오는 자격 요건

  • 리눅스, 쉘 스크립트
  • 데이터 수집 및 가공
  • Hadoop
  • Spark
  • SQL
  • DW 시스템 설계 및 운영
  • ETL
  • 파이프라인 개발
  • BI Tool 또는 대시보드 구축
  • 추천 시스템 구축
  • 머신러닝 / 딥러닝

데이터 사이언티스트

머신러닝 엔지니어처럼 속한 도메인의 목적에 맞는 모델 생성 및 모델의 정확도를 개선해 고도화하는 업무. 머신러닝 엔지니어는 Production을 신경쓰는 반면 데이터 사이언티스트는 연구 개발에 집중, 데이터 분석가들이 진행하는 데이터 분석을 수행하며 통계적 모델링

주요 업무

  • 속한 도메인의 목적에 맞는 모델 생성 및 퍼포먼스 개선
  • 추천 시스템 — 개인화 추천 알고리즘 개선 및 설계
  • 금융 자산 예측 모델 연구 / 개발
  • 자연어 처리
  • 컴퓨터 비전
  • 음성 인식
  • 강화 학습
  • 논문 리서치 및 출판
  • 통계적 모델링, 데이터 분석

필요 역량

  • 머신러닝 / 딥러닝 이론 지식
  • 도메인 관련 지식
  • 논문을 읽고 구현할 수 있는 능력 — 논문 이해를 위한 수학 지식 / 구현을 위한 코딩 능력 / 해당 분야의 트렌드 이해
  • 데이터 분석가 + 데이터 엔지니어의 지식

정리

데이터분석가는 데이터를 가져와 보기좋게 가공하는 역할을 하며 데이터엔지니어는 데이터를 만들고 저장하는 역할을 하며 데이터사이언티스트는 데이터를 이용해 모델을 만드는 역할을 한다.

사실 데이터로 모델을 만들기 위해서는 일단 데이터가 존재해야하므로 결국 데이터사이언티스트는 데이터엔지니어의 일도 할 수 있어야 하며, 자신이 만든 모델을 설명할 수 있어야하니 데이터분석가의 일도 할 수 있어야 한다.

정리하자면 데이터사이언티스트가 되기위해서는 모든 일을 할 줄 알아야 한다. 물론 모든 것을 잘할 필요는 없다. 데이터사이언티스트는 모델 설계와 개선에 집중만 하면된다. 다만 데이터 파이프라인을 구축하는 대략적인 방법을 알고 구축할 줄 알아야하며 데이터를 추출할 줄도 알아야 하는 것이다.

그러면 어떻게 공부해야하는가?

일단 데이터사이언스의 핵심이 되는 머신러닝과 딥러닝의 기초를 익히자. 그리고 캐글에 참여하며 데이터가 주어진 상황에서 머신러닝 프로젝트를 진행해보자. 이를통해 모델을 구현하고 개선하는 방법을 점차 배우자. 이와 병행하여 새로 나오는 논문을 읽으며 연구 트렌드와 기반 지식을 익혀 자신의 프로젝트에 도입하거나 오픈소스로 코드를 짜서 올리도록하자. 이후 캐글에 익숙해지면 데이터가 주어지지 않은 상태에서 데이터를 구하기 위한 데이터파이프라인 구축부터 차근차근 익혀서 데이터 모델 생성의 전체 과정을 따라가고 익히자.

공부해야할 것

  • 머신러닝 / 딥러닝 기초
  • git, Linux, Python, 데이터 크롤링, Cloud Service
  • + 선형대수, 논문을 이해하기 위한 수학 지식

공부하는 방법

기초 공부

  • 핸즈 온 머신러닝 (코딩에 초점) -5월까지 끝내기
  • 밑바닥부터 시작하는 딥러닝 (수학에 초점) -여름방학까지 끝내기

세부 분야 탐색

분야를 나누는 기준은 무엇인가 / 무엇에 초점을 맞추고 있는가 / 핵심 이론은 어떻게 다르게 적용하는가

  • 컴퓨터 비전
  • 자연어 처리
  • 강화학습
  • 금융 자산 예측 모델 연구

논문 읽고 정리 (논문으로 짚어보는 딥러닝의 맥 -강의 수강 후 방향성 설정)

  • 주 관심 분야를 정했으면 논문을 읽고 (블로그에) 정리
  • 코드로 구현해서 GitHub에 남기기
  • 최근에 나온 논문이고 아직 구현체가 없는 상황에 먼저 만들기 (Reddit에 올리기)

개인 프로젝트 진행 (논문과 병행)

  • 캐글 참여
  • 공모전 참여
  • 개인 프로젝트
  • 프로젝트의 핵심은 ~을 해봤다가 아닌, 그 경험에서 얻은 생각
  • 기존에 알던 개념이 반드시 참이 아닐 수 있으니 비판적 사고를 할 것

자신이 공부한 것을 기반으로 일반인도 쉽게 이해하는 강의 만들기

  • 데이터사이언스 지식 쉽게 전달
  • 자신의 업무에 데이터사이언스 지식을 도입하는 방법 제공

--

--