SlideShare une entreprise Scribd logo
1  sur  84
Télécharger pour lire hors ligne
효율적 데이터 과학을 위한
7가지 팁
2017년 10월
권재명 https://dataninja.me/
데이터 분석이 취미이자 직업인 통계학자 출신의
실리콘밸리 데이터 과학자. 1972년에 서울에서
태어났다. 어려서부터 컴퓨터를 좋아해서 전산학을
공부하고자 서울대학교 계산통계학과에 입학했다
(1990년). 하지만 대학 2학년 때 들은 통계수업에
매료되어 통계를 전공하기로 결심하여 서울대 통계학
학사(1994년), 석사(1996년)를 거쳐 버클리대학교
(UC Berkeley)에서 박사(2000년) 학위를 받았다.
졸업 후 같은 대학에서 교통 데이터 분석 연구원으로
활동했고, 이후 이스트베이 캘리포니아주립대학교
(Cal State East Bay)에서 통계학과 조교수를 지냈다.
2009년부터 지금까지 실리콘밸리의 인터넷, 테크
기업에서 데이터 과학자로, 그리고 분석 팀 리더로
활동 중이다. 최근 "따라 하며 배우는 데이터
과학"(2017)를 출간했다.
https://dataninja.me/
데이터 과학 이론은 --- 변하고, 툴은 --- 변한다
데이터 과학 이론은 천천히 변하고, 툴은 빨리 변한다
미적분학: 뉴튼과 라이프니츠 (17세기)
선형대수 / 행렬연산
● "determinant" - 라이프니츠 (17세기)
● "matrix" - J.J.Sylvester (1848)
● "matrix algebra" - Arthur Cayley (1855)
확률론
● 중심극한 정리 - 라플라스 + (1778)
● 베이즈 확률론 (1763)
이론은 천천히 변하고, 툴은 빨리 변한다: 수학-확률
https://en.wikipedia.org/wiki/History_of_calculus
최소제곱법 - Carl Friedrich Gauss + (1795)
회귀분석 - Francis Galton + (19세기 후반)
MLE - R.A.피셔 + (20세기 초)
이론은 천천히 변하고, 툴은 빨리 변한다: 확률-통계
랜덤 포레스트 - L. Breiman+ (~2001)
부스팅 - J. Friedman+ (~1999)
라쏘+ - J. Friedman+ (~2008)
이론은 천천히 변하고, 툴은 빨리 변한다: 통계-머신러닝
이론은 천천히 변하고, 툴은 빨리 변한다: 딥러닝
https://beamandrew.github.io/deeplearning/2017/02/23/deep_learning_101_part1.html
이론은 천천히 변하고, 툴은 빨리 변한다: OS, 랭귀지
유닉스 - 1970년대
C - 커니건&리치 (1972)
SQL - (1979)
자바 - James Gosling (1995)
파이썬 - Guido van Rossum (1989)
S - Chambers, Becker, Wilks of Bell Labs (1988)
R - R. Ihaka and R. Gentleman (2000)
R스튜디오
파이썬 libraries
● scikit learn (2011)
● tensorflow, keras
R libraries
● tidyverse
● rmarkdown
● htmlwidgets
이론은 천천히 변하고, 툴은 빨리 변한다: 패키지
컴퓨팅 + 데이터
이론은 천천히 변하고, 툴은 빨리 변한다: 딥러닝
https://www.matroid.com/scaledml/2017/jeff.pdf
컴퓨팅 + 데이터
따름정리 1. 데이터 과학
적용 영역의 폭발적 증가
따름정리 2. 데이터 과학자
수요 폭발적 증가
이론은 천천히 변하고, 툴은 빨리 변한다: 딥러닝
https://www.matroid.com/scaledml/2017/jeff.pdf
이론 = 수학, 확률, 통계, 머신러닝, 딥러닝, ....
데이터 과학 = 이론
이론 = 수학, 확률, 통계, 머신러닝, 딥러닝, ....
툴 = 코딩, R/파이썬, 패키지, ...
데이터 과학 = 이론 + 툴
이론 = 수학, 확률, 통계, 머신러닝, 딥러닝, ....
툴 = 코딩, R/파이썬, 패키지, ...
적용 = 문제 이해, 해결, 소통 ... 능력
데이터 과학 = 이론 + 툴 + 적용
이론 = 수학, 확률, 통계, 머신러닝, 딥러닝, ....
툴 = 코딩, R/파이썬, 패키지, ...
적용 = 문제 이해, 해결, 소통 ... 능력
데이터 과학 = 이론 + 툴 + 적용 (+경험)
이론 = 수학, 확률, 통계, 머신러닝, 딥러닝, ....
툴 = 코딩, R/파이썬, 패키지, ...
적용 = 문제 이해, 해결, 소통 ... 능력
이상적인 데이터 과학자는 셋을 다 갖춘 사람
데이터 과학 = 이론 + 툴 + 적용 (+경험)
데이터 취득
데이터 가공
탐색적
데이터 분석
문제 정의
데이터 정의
확증적
데이터 분석
자동화리포트
데이터 과학 프로세스
데이터 취득
데이터 가공
탐색적
데이터 분석
문제 정의
데이터 정의
확증적
데이터 분석
자동화리포트
데이터 과학 프로세스 in R
dplyr*
tidyr*
stringr
readr*
tidyr*
ggplot2*
rmarkdown
flexdashboard
DT
testthat
logging
도커
파이썬
caret
* = tidyverse
데이터 과학자의 스트레스와 야근의 원인?
이상적인 데이터 과학자도 항상 효율적인 것은 아니다
(10초간 생각해보기)
데이터 과학자의 스트레스와 야근의 원인?
이상적인 데이터 과학자도 항상 효율적인 것은 아니다
(10초간 생각해보기)
("이론이 부족하다"는 제외)
1. 박하사탕 증후군 - "나 돌아갈래!"
"(컴퓨터 크래시) 지난 일주일간 작업한 내 코드는? ㅠㅠ"
"분석 코드 필요하다고? 이멜로 보내줄께"
"(분석 안돌아감) 3일전에 이 코드는 어땠더라?"
http://blog.daum.net/ps212d/114
해결책: 깃을 사용한 분석 코드 관리
git init / git clone
git add
git commit
git push / git pull
분석 프로젝트 시작은 항상 git clone 으로
모든 코드/텍스트를 git add
매일 git commit / git push
깃을 사용한 분석 코드 관리 by Default
https://github.com/jaimyoung/
게으른 데이터 과학자
부지런한 데이터 과학자
https://www.sourcetreeapp.com/
http://ohmyz.sh/
https://git-scm.com/book/tr/v2/Git-in-Other-Environments-Git-in-Zsh
남이 작성한 읽기 어려운 코드
내가 (3달 전) 작성한 읽기 어려운 코드
2. 난독증 유발형 - "이 코드는 뭘 하는 코드일까?"
http://darai17.tistory.com/44
https://blog.codinghorror.com/when-understanding-means-rewriting/
전문 프로그래머의 하루 일과:
새로운 코드 작성 5%
기존 코드 고치기 25%
기존 코드 이해하기 70%
https://blogs.msdn.microsoft.com/peterhal/2006/01/04/what-do-programmers-really-do-anyway-
aka-part-2-of-the-yardstick-saga/
해결책: 스타일 가이드 by default
"당신이 작성한 코드를 관리할 사람이 당신 집 주소를 아는 정신병자라고
생각하고 코딩하라" - (John Woods, 1991)
R 스타일 가이드 - http://style.tidyverse.org/
파이썬 스타일 가이드 - https://www.python.org/dev/peps/pep-0008/
데이터 과학자의 시급이 컴퓨터의 시급보다 비싸다
일단은 코드를 읽는 이를 위해 최적화
코드 리뷰
기계를 위한 최적화는 나중에
Don't Optimize Until You Have to
기계가 아니라, 읽는 이를 위해 최적화하라
https://atom.io/packages/linter-pylama
가장 좋은 코드는?
https://cran.r-project.org/web/packages/dplyr/vignettes/dplyr.html
pipe %>%
https://cran.r-project.org/web/packages/dplyr/vignettes/dplyr.html
RDBMS, Spark 에 저장된 데이터에도 사용 가능
https://cran.r-project.org/web/packages/dplyr/vignettes/dplyr.html
3. 발뺌형 - "헉, 어떻게 이 결과가 나왔었지?"
실험/리포트 결과가 재현이 안된다
해결책: 재현가능성 When Necessary
재현가능 방법 1: R 마크다운
http://rmarkdown.rstudio.com/
(한글깨짐 ㅠㅠ)
재현가능 방법 2: 도커
개발 환경 == 테스트 환경 == 프로덕션 환경
데이터 과학 환경 == 테스트 환경 == 프로덕션 환경
R 도커 이미지
https://hub.docker.com/u/rocker/
https://github.com/rocker-org/rocker-versioned
4. 단순반복형 - "과도한 복사-붙여넣기"
https://www.quora.com/What-is-the-importance-of-ctrl-c-
+-ctrl-v-for-programmers
팀/개인 라이브러리를 안만들고 잘라붙이기로 해결한다.
라이브러리를 사용하여 짧게 할 수 있는 일을 길게 한다.
A. 라이브러리를 사용한 빠른 프로토타입
B. 반복되는 작업은 라이브러리화
3번 이상 사용되는 코드는 라이브러리/패키지화를 고려해야
실험 인프라에 투자 - 나중에 다양한 실험을 빠르게 할 수 있도록
해결책: 라이브러리화
빠른 프로토타입 - flexdashboard
https://jjallaire.shinyapps.io/shiny-crandash/
(~300줄)
빠른 프로토타입 - leaflet
https://rstudio.github.io/leaflet/choropleths.html
빠른 프로토타입 - DT
https://rstudio.github.io/DT/
빠른 프로토타입 - keras 딥러닝
https://keras.rstudio.com/
MNIST
notMNIST
http://yaroslavvb.blogspot.kr/2011/09/notmnist-dataset.html
반복되는 작업은 라이브러리화
데이터 취득
데이터 가공
탐색적
데이터 분석
문제 정의
데이터 정의
확증적
데이터 분석
자동화리포트
dplyr*
tidyr*
stringr
readr*
tidyr*
ggplot2*
rmarkdown
flexdashboard
DT
testthat
logging
도커
파이썬
caret
* = tidyverse
"How R helps Airbnb make the most of its data"
Community - R 교육
Tooling - 어떻게 하면 팀 라이브러리
개발에 참여하게 할 수 있을까?
https://peerj.com/preprints/3182/
5. 토끼굴형 - "... 이런 설정을 해 보았습니다 ..."
https://www.thirdcoastfestival.org/
explore/feature/rabbit-hole-show
대다수의 시간을 분석의 목적과 무관한 탐색에 사용한다.
지나친 완벽주의
데드라인의 개념이 없다.
분석 기간이 너무 길다.
애자일 방법론 - 2주 스프린트 - (거의) 매일 짧은 싱크업/피드백
Define "Done" (결과물은 리포트인가? 프로토타입인가? 둘 다인가?).
Define "Metrics/KPI" (효과적 지표를 결정하고 계속 측정해야)
투명한 작업진척 공유. 불완전한 결과도 공유 (Expect Errors)
열린 결말을 위한 연구시간은 20% 이하로.
해결책: 진화적 반복 "Iterative" by default
https://blog.codinghorror.com/when-understanding-means-rewriting/
QA 와 리팩터링 (refactoring) 을 고려한다
JIRA
https://www.atlassian.com/software/jira
Phabricator
https://www.phacility.com/
비전문가에게 조리있게 분석결과를 전달하지 못한다.
리포트는 주로 R 코드 출력 결과 복사물과 다듬어지지 않은 파이썬 노트북 등이다.
6. 불통형 - "분석 결과요? 여기 R 출력입니다"
피드백 받기; 지식의 저주 피하기 (Get Feedback)
연습! (Practice, Practice, Practice)
최종 자료는 예쁘게 (Look is Important; Leverage Templates)
가능하면 후원자/소통 전문가를 찾으라. (Find Champion / Advocate)
해결책: 소통 훈련 by Default
https://brunch.co.kr/@blade31/26
https://www.goodreads.com/book/sh
ow/20821371-the-sense-of-style
7. 마피아형 - "오른손이 하는 일을 왼손이 모르게..."
코드와 분석결과를 공유하지 않는 팀
코드와 분석결과를 공유하지 않는 개인
해결책: 개방성 Open by Default
데이터 과학자가 코드/문서를 공개하지 않는 이유는?
깃 in Public by default
구글독 Public by default
근본적으로 조직 문화의 문제 - 리더십 역할이 중요하다
1.박하사탕형
2. 난독증 유발형
3. 발뺌형
4. 단순반복형
5. 토끼굴형
6. 불통형
7. 마피아형
1.박하사탕형
(깃 코드관리)
2. 난독증 유발형
(스타일 가이드)
3. 발뺌형
(재현가능)
4. 단순반복형
(라이브러리화/사용)
좋은 디폴트
5. 토끼굴형
(진화적 반복/애자일)
6. 불통형
(소통 연습)
7. 마피아형
(개방성)
7. Open
5. Iterative / Agile
1. Codebase in Git
2. Readability via Style
Guide
3. Reproducibility
4. Efficient Use of
Libraries
좋은 디폴트
6. Communication
C
S
R L I
C
O
여러분의 팀의 현재 점수는?
2 = 항상 하고
있다
1 = 가끔 하고
있다
0 = 못하고 있다 점수
1. 깃 코드관리
2. 가독성
3. 재현 가능성
4. 라이브러리
5. 진화적 반복
6. 소통 훈련
7. 개방성
합계
여러분의 팀의 현재 점수는?
2 = 항상 하고
있다
1 = 가끔 하고
있다
0 = 못하고 있다 점수
1. 깃 코드관리 X 2
2. 가독성 X 2
3. 재현 가능성 X 1
4. 라이브러리 X 0
5. 진화적 반복 X 1
6. 소통 훈련 X 0
7. 개방성 X 1
합계 7
요약
● 데이터 과학의 이론과 툴/코딩
● 데이터 과학자의 스트레스와 야근의 원인 7유형
a. 박하사탕형, 난독증 유발자, 발뺌형, 단순반복형, 토끼굴형, 불통형, 마피아형
● 데이터 과학자의 스트레스와 야근을 줄이는 팁:
a. 박하사탕형 -> 깃 코드관리 Codebase in Git (C)
b. 난독증 유발자 -> 가독성 Readability, Style Guide (S)
c. 발뺌형 -> 재현 가능성 Reproducible (R)
d. 단순반복형 -> 라이브러리 Efficient Use of Libraries (L)
e. 토끼굴형 -> 진화적 반복 Iterative (I)
f. 불통형 -> 소통 훈련 Communication (C)
g. 마피아형 -> 개방성 Open (O)
Q&A

Contenu connexe

En vedette

RUCK 2017 REx: 엑셀 기반 R 연동 통계분석 소프트웨어
RUCK 2017 REx: 엑셀 기반 R 연동 통계분석 소프트웨어RUCK 2017 REx: 엑셀 기반 R 연동 통계분석 소프트웨어
RUCK 2017 REx: 엑셀 기반 R 연동 통계분석 소프트웨어r-kor
 
RUCK 2017 베이즈 모형의 꽃 - 계층 모형
RUCK 2017 베이즈 모형의 꽃 - 계층 모형RUCK 2017 베이즈 모형의 꽃 - 계층 모형
RUCK 2017 베이즈 모형의 꽃 - 계층 모형r-kor
 
RUCK 2017 - 강병엽 - Spark와 R을 연동한 빅데이터 분석
RUCK 2017 - 강병엽 - Spark와 R을 연동한 빅데이터 분석RUCK 2017 - 강병엽 - Spark와 R을 연동한 빅데이터 분석
RUCK 2017 - 강병엽 - Spark와 R을 연동한 빅데이터 분석r-kor
 
RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현
RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현
RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현r-kor
 
RUCK 2017 Shiny의 또 다른 활용: RStudio addin 함수 및 패키지의 제작
RUCK 2017 Shiny의 또 다른 활용: RStudio addin 함수 및 패키지의 제작RUCK 2017 Shiny의 또 다른 활용: RStudio addin 함수 및 패키지의 제작
RUCK 2017 Shiny의 또 다른 활용: RStudio addin 함수 및 패키지의 제작r-kor
 
RUCK 2017 R 을 이용한 사회조사 자료의 분석 및 보고서 작성 방법
RUCK 2017 R 을 이용한 사회조사 자료의 분석 및 보고서 작성 방법RUCK 2017 R 을 이용한 사회조사 자료의 분석 및 보고서 작성 방법
RUCK 2017 R 을 이용한 사회조사 자료의 분석 및 보고서 작성 방법r-kor
 
RUCK 2017 빅데이터 분석에서 모형의 역할
RUCK 2017 빅데이터 분석에서 모형의 역할RUCK 2017 빅데이터 분석에서 모형의 역할
RUCK 2017 빅데이터 분석에서 모형의 역할r-kor
 
RUCK 2017 R로 API 서버를 만드는 4가지 방법(은 삽질기)
RUCK 2017 R로 API 서버를 만드는 4가지 방법(은 삽질기)RUCK 2017 R로 API 서버를 만드는 4가지 방법(은 삽질기)
RUCK 2017 R로 API 서버를 만드는 4가지 방법(은 삽질기)r-kor
 
구조화된 데이터: Schema.org와 Microdata, RDFa, JSON-LD
구조화된 데이터: Schema.org와 Microdata, RDFa, JSON-LD구조화된 데이터: Schema.org와 Microdata, RDFa, JSON-LD
구조화된 데이터: Schema.org와 Microdata, RDFa, JSON-LDr-kor
 
오픈데이터와 오픈소스 소프트웨어를 이용한 의료이용정보의 시각화
오픈데이터와 오픈소스 소프트웨어를 이용한 의료이용정보의 시각화오픈데이터와 오픈소스 소프트웨어를 이용한 의료이용정보의 시각화
오픈데이터와 오픈소스 소프트웨어를 이용한 의료이용정보의 시각화r-kor
 
선박식별정보를 이용한 어업활동 공간밀도 가시화
선박식별정보를 이용한 어업활동 공간밀도 가시화선박식별정보를 이용한 어업활동 공간밀도 가시화
선박식별정보를 이용한 어업활동 공간밀도 가시화r-kor
 
[비즈클래스 3기] 2주차 1강 IP 실무담당자가 말하는 캐릭터 활용 비즈니스 | 시너지미디어 박영국 부사장
[비즈클래스 3기] 2주차 1강 IP 실무담당자가 말하는 캐릭터 활용 비즈니스 | 시너지미디어 박영국 부사장[비즈클래스 3기] 2주차 1강 IP 실무담당자가 말하는 캐릭터 활용 비즈니스 | 시너지미디어 박영국 부사장
[비즈클래스 3기] 2주차 1강 IP 실무담당자가 말하는 캐릭터 활용 비즈니스 | 시너지미디어 박영국 부사장BIZ+
 
[비즈클래스 3기] 2주차 2강 오리지널 IP 창출과 라이선싱 실무 | (주)오콘 판권사업팀 이승용 부장
[비즈클래스 3기]  2주차 2강 오리지널 IP 창출과 라이선싱 실무 |  (주)오콘 판권사업팀 이승용 부장[비즈클래스 3기]  2주차 2강 오리지널 IP 창출과 라이선싱 실무 |  (주)오콘 판권사업팀 이승용 부장
[비즈클래스 3기] 2주차 2강 오리지널 IP 창출과 라이선싱 실무 | (주)오콘 판권사업팀 이승용 부장BIZ+
 
모듈형 패키지를 활용한 나만의 기계학습 모형 만들기 - 회귀나무모형을 중심으로
모듈형 패키지를 활용한 나만의 기계학습 모형 만들기 - 회귀나무모형을 중심으로 모듈형 패키지를 활용한 나만의 기계학습 모형 만들기 - 회귀나무모형을 중심으로
모듈형 패키지를 활용한 나만의 기계학습 모형 만들기 - 회귀나무모형을 중심으로 r-kor
 
RUCK 2017 김성환 R 패키지 메타주성분분석(MetaPCA)
RUCK 2017 김성환 R 패키지 메타주성분분석(MetaPCA)RUCK 2017 김성환 R 패키지 메타주성분분석(MetaPCA)
RUCK 2017 김성환 R 패키지 메타주성분분석(MetaPCA)r-kor
 
빅데이터 인공지능 전략 및 로드맵
빅데이터 인공지능 전략 및 로드맵빅데이터 인공지능 전략 및 로드맵
빅데이터 인공지능 전략 및 로드맵r-kor
 
How to start a business and write a business plan
How to start a business and write a business planHow to start a business and write a business plan
How to start a business and write a business planFraser Hay
 
인공지능은 의료를 어떻게 혁신하는가 (2017년 11월) 최윤섭
인공지능은 의료를 어떻게 혁신하는가 (2017년 11월) 최윤섭인공지능은 의료를 어떻게 혁신하는가 (2017년 11월) 최윤섭
인공지능은 의료를 어떻게 혁신하는가 (2017년 11월) 최윤섭Yoon Sup Choi
 
2018디지털마케팅트렌드분석조사결과 및 키워드
2018디지털마케팅트렌드분석조사결과 및 키워드2018디지털마케팅트렌드분석조사결과 및 키워드
2018디지털마케팅트렌드분석조사결과 및 키워드Digital Initiative Group
 

En vedette (20)

RUCK 2017 REx: 엑셀 기반 R 연동 통계분석 소프트웨어
RUCK 2017 REx: 엑셀 기반 R 연동 통계분석 소프트웨어RUCK 2017 REx: 엑셀 기반 R 연동 통계분석 소프트웨어
RUCK 2017 REx: 엑셀 기반 R 연동 통계분석 소프트웨어
 
RUCK 2017 베이즈 모형의 꽃 - 계층 모형
RUCK 2017 베이즈 모형의 꽃 - 계층 모형RUCK 2017 베이즈 모형의 꽃 - 계층 모형
RUCK 2017 베이즈 모형의 꽃 - 계층 모형
 
RUCK 2017 - 강병엽 - Spark와 R을 연동한 빅데이터 분석
RUCK 2017 - 강병엽 - Spark와 R을 연동한 빅데이터 분석RUCK 2017 - 강병엽 - Spark와 R을 연동한 빅데이터 분석
RUCK 2017 - 강병엽 - Spark와 R을 연동한 빅데이터 분석
 
RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현
RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현
RUCK 2017 샤이니 대시보드를 활용한 interactive chart 구현
 
RUCK 2017 Shiny의 또 다른 활용: RStudio addin 함수 및 패키지의 제작
RUCK 2017 Shiny의 또 다른 활용: RStudio addin 함수 및 패키지의 제작RUCK 2017 Shiny의 또 다른 활용: RStudio addin 함수 및 패키지의 제작
RUCK 2017 Shiny의 또 다른 활용: RStudio addin 함수 및 패키지의 제작
 
RUCK 2017 R 을 이용한 사회조사 자료의 분석 및 보고서 작성 방법
RUCK 2017 R 을 이용한 사회조사 자료의 분석 및 보고서 작성 방법RUCK 2017 R 을 이용한 사회조사 자료의 분석 및 보고서 작성 방법
RUCK 2017 R 을 이용한 사회조사 자료의 분석 및 보고서 작성 방법
 
RUCK 2017 빅데이터 분석에서 모형의 역할
RUCK 2017 빅데이터 분석에서 모형의 역할RUCK 2017 빅데이터 분석에서 모형의 역할
RUCK 2017 빅데이터 분석에서 모형의 역할
 
RUCK 2017 R로 API 서버를 만드는 4가지 방법(은 삽질기)
RUCK 2017 R로 API 서버를 만드는 4가지 방법(은 삽질기)RUCK 2017 R로 API 서버를 만드는 4가지 방법(은 삽질기)
RUCK 2017 R로 API 서버를 만드는 4가지 방법(은 삽질기)
 
구조화된 데이터: Schema.org와 Microdata, RDFa, JSON-LD
구조화된 데이터: Schema.org와 Microdata, RDFa, JSON-LD구조화된 데이터: Schema.org와 Microdata, RDFa, JSON-LD
구조화된 데이터: Schema.org와 Microdata, RDFa, JSON-LD
 
오픈데이터와 오픈소스 소프트웨어를 이용한 의료이용정보의 시각화
오픈데이터와 오픈소스 소프트웨어를 이용한 의료이용정보의 시각화오픈데이터와 오픈소스 소프트웨어를 이용한 의료이용정보의 시각화
오픈데이터와 오픈소스 소프트웨어를 이용한 의료이용정보의 시각화
 
AI in marketing
AI in marketingAI in marketing
AI in marketing
 
선박식별정보를 이용한 어업활동 공간밀도 가시화
선박식별정보를 이용한 어업활동 공간밀도 가시화선박식별정보를 이용한 어업활동 공간밀도 가시화
선박식별정보를 이용한 어업활동 공간밀도 가시화
 
[비즈클래스 3기] 2주차 1강 IP 실무담당자가 말하는 캐릭터 활용 비즈니스 | 시너지미디어 박영국 부사장
[비즈클래스 3기] 2주차 1강 IP 실무담당자가 말하는 캐릭터 활용 비즈니스 | 시너지미디어 박영국 부사장[비즈클래스 3기] 2주차 1강 IP 실무담당자가 말하는 캐릭터 활용 비즈니스 | 시너지미디어 박영국 부사장
[비즈클래스 3기] 2주차 1강 IP 실무담당자가 말하는 캐릭터 활용 비즈니스 | 시너지미디어 박영국 부사장
 
[비즈클래스 3기] 2주차 2강 오리지널 IP 창출과 라이선싱 실무 | (주)오콘 판권사업팀 이승용 부장
[비즈클래스 3기]  2주차 2강 오리지널 IP 창출과 라이선싱 실무 |  (주)오콘 판권사업팀 이승용 부장[비즈클래스 3기]  2주차 2강 오리지널 IP 창출과 라이선싱 실무 |  (주)오콘 판권사업팀 이승용 부장
[비즈클래스 3기] 2주차 2강 오리지널 IP 창출과 라이선싱 실무 | (주)오콘 판권사업팀 이승용 부장
 
모듈형 패키지를 활용한 나만의 기계학습 모형 만들기 - 회귀나무모형을 중심으로
모듈형 패키지를 활용한 나만의 기계학습 모형 만들기 - 회귀나무모형을 중심으로 모듈형 패키지를 활용한 나만의 기계학습 모형 만들기 - 회귀나무모형을 중심으로
모듈형 패키지를 활용한 나만의 기계학습 모형 만들기 - 회귀나무모형을 중심으로
 
RUCK 2017 김성환 R 패키지 메타주성분분석(MetaPCA)
RUCK 2017 김성환 R 패키지 메타주성분분석(MetaPCA)RUCK 2017 김성환 R 패키지 메타주성분분석(MetaPCA)
RUCK 2017 김성환 R 패키지 메타주성분분석(MetaPCA)
 
빅데이터 인공지능 전략 및 로드맵
빅데이터 인공지능 전략 및 로드맵빅데이터 인공지능 전략 및 로드맵
빅데이터 인공지능 전략 및 로드맵
 
How to start a business and write a business plan
How to start a business and write a business planHow to start a business and write a business plan
How to start a business and write a business plan
 
인공지능은 의료를 어떻게 혁신하는가 (2017년 11월) 최윤섭
인공지능은 의료를 어떻게 혁신하는가 (2017년 11월) 최윤섭인공지능은 의료를 어떻게 혁신하는가 (2017년 11월) 최윤섭
인공지능은 의료를 어떻게 혁신하는가 (2017년 11월) 최윤섭
 
2018디지털마케팅트렌드분석조사결과 및 키워드
2018디지털마케팅트렌드분석조사결과 및 키워드2018디지털마케팅트렌드분석조사결과 및 키워드
2018디지털마케팅트렌드분석조사결과 및 키워드
 

Similaire à RUCK 2017 권재명 효율적 데이터 과학과 데이터 조직을 위한 7가지 요인

1.introduction(epoch#2)
1.introduction(epoch#2)1.introduction(epoch#2)
1.introduction(epoch#2)Haesun Park
 
Week1 ot
Week1 otWeek1 ot
Week1 otEun Yu
 
UI/UX 개선을 위한 빠른 프로토타이핑
UI/UX 개선을 위한 빠른 프로토타이핑UI/UX 개선을 위한 빠른 프로토타이핑
UI/UX 개선을 위한 빠른 프로토타이핑Dongsik Yang
 
Things Data Scientists Should Keep in Mind
Things Data Scientists Should Keep in MindThings Data Scientists Should Keep in Mind
Things Data Scientists Should Keep in MindDataya Nolja
 
How to Create Value from Data, and Its Difficulty
How to Create Value from Data, and Its DifficultyHow to Create Value from Data, and Its Difficulty
How to Create Value from Data, and Its DifficultyDataya Nolja
 
[week6] 데이터읽어주는남자
[week6] 데이터읽어주는남자[week6] 데이터읽어주는남자
[week6] 데이터읽어주는남자neuroassociates
 
코딩은 문제해결이다 (도구로써 파이썬)
코딩은 문제해결이다 (도구로써 파이썬)코딩은 문제해결이다 (도구로써 파이썬)
코딩은 문제해결이다 (도구로써 파이썬)HYEONGNAM LEE
 
실리콘 밸리 데이터 사이언티스트의 하루
실리콘 밸리 데이터 사이언티스트의 하루실리콘 밸리 데이터 사이언티스트의 하루
실리콘 밸리 데이터 사이언티스트의 하루Jaimie Kwon (권재명)
 
[2A7]Linkedin'sDataScienceWhyIsItScience
[2A7]Linkedin'sDataScienceWhyIsItScience[2A7]Linkedin'sDataScienceWhyIsItScience
[2A7]Linkedin'sDataScienceWhyIsItScienceNAVER D2
 
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기Wonha Ryu
 
졸업후 취업까지.ssul
졸업후 취업까지.ssul졸업후 취업까지.ssul
졸업후 취업까지.ssul승표 홍
 
소프트웨어교육 운영지침(2015)_교육부
소프트웨어교육 운영지침(2015)_교육부소프트웨어교육 운영지침(2015)_교육부
소프트웨어교육 운영지침(2015)_교육부sam Cyberspace
 
링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다
링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다
링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다Evion Kim
 
『9가지 사례로 익히는 고급 스파크 분석』 - 맛보기
『9가지 사례로 익히는 고급 스파크 분석』 - 맛보기『9가지 사례로 익히는 고급 스파크 분석』 - 맛보기
『9가지 사례로 익히는 고급 스파크 분석』 - 맛보기복연 이
 
『파이썬 라이브러리를 활용한 머신러닝』 맛보기
『파이썬 라이브러리를 활용한 머신러닝』 맛보기『파이썬 라이브러리를 활용한 머신러닝』 맛보기
『파이썬 라이브러리를 활용한 머신러닝』 맛보기복연 이
 
Bloter 넥스트 저널리즘 스쿨 강의자료
Bloter 넥스트 저널리즘 스쿨 강의자료Bloter 넥스트 저널리즘 스쿨 강의자료
Bloter 넥스트 저널리즘 스쿨 강의자료neuroassociates
 
『이펙티브 디버깅』 맛보기
『이펙티브 디버깅』 맛보기『이펙티브 디버깅』 맛보기
『이펙티브 디버깅』 맛보기복연 이
 
Software engineer가 되기 위한 여정
Software engineer가 되기 위한 여정Software engineer가 되기 위한 여정
Software engineer가 되기 위한 여정Aree Oh
 

Similaire à RUCK 2017 권재명 효율적 데이터 과학과 데이터 조직을 위한 7가지 요인 (20)

1.introduction(epoch#2)
1.introduction(epoch#2)1.introduction(epoch#2)
1.introduction(epoch#2)
 
Week1 ot
Week1 otWeek1 ot
Week1 ot
 
Rdata 180320
Rdata 180320Rdata 180320
Rdata 180320
 
UI/UX 개선을 위한 빠른 프로토타이핑
UI/UX 개선을 위한 빠른 프로토타이핑UI/UX 개선을 위한 빠른 프로토타이핑
UI/UX 개선을 위한 빠른 프로토타이핑
 
Things Data Scientists Should Keep in Mind
Things Data Scientists Should Keep in MindThings Data Scientists Should Keep in Mind
Things Data Scientists Should Keep in Mind
 
How to Create Value from Data, and Its Difficulty
How to Create Value from Data, and Its DifficultyHow to Create Value from Data, and Its Difficulty
How to Create Value from Data, and Its Difficulty
 
1.introduction
1.introduction1.introduction
1.introduction
 
[week6] 데이터읽어주는남자
[week6] 데이터읽어주는남자[week6] 데이터읽어주는남자
[week6] 데이터읽어주는남자
 
코딩은 문제해결이다 (도구로써 파이썬)
코딩은 문제해결이다 (도구로써 파이썬)코딩은 문제해결이다 (도구로써 파이썬)
코딩은 문제해결이다 (도구로써 파이썬)
 
실리콘 밸리 데이터 사이언티스트의 하루
실리콘 밸리 데이터 사이언티스트의 하루실리콘 밸리 데이터 사이언티스트의 하루
실리콘 밸리 데이터 사이언티스트의 하루
 
[2A7]Linkedin'sDataScienceWhyIsItScience
[2A7]Linkedin'sDataScienceWhyIsItScience[2A7]Linkedin'sDataScienceWhyIsItScience
[2A7]Linkedin'sDataScienceWhyIsItScience
 
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
NDC 2016, [슈판워] 맨땅에서 데이터 분석 시스템 만들어나가기
 
졸업후 취업까지.ssul
졸업후 취업까지.ssul졸업후 취업까지.ssul
졸업후 취업까지.ssul
 
소프트웨어교육 운영지침(2015)_교육부
소프트웨어교육 운영지침(2015)_교육부소프트웨어교육 운영지침(2015)_교육부
소프트웨어교육 운영지침(2015)_교육부
 
링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다
링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다
링크드인의 Big Data Recommendation Products - 어제의 데이터를 통해 내일을 예측한다
 
『9가지 사례로 익히는 고급 스파크 분석』 - 맛보기
『9가지 사례로 익히는 고급 스파크 분석』 - 맛보기『9가지 사례로 익히는 고급 스파크 분석』 - 맛보기
『9가지 사례로 익히는 고급 스파크 분석』 - 맛보기
 
『파이썬 라이브러리를 활용한 머신러닝』 맛보기
『파이썬 라이브러리를 활용한 머신러닝』 맛보기『파이썬 라이브러리를 활용한 머신러닝』 맛보기
『파이썬 라이브러리를 활용한 머신러닝』 맛보기
 
Bloter 넥스트 저널리즘 스쿨 강의자료
Bloter 넥스트 저널리즘 스쿨 강의자료Bloter 넥스트 저널리즘 스쿨 강의자료
Bloter 넥스트 저널리즘 스쿨 강의자료
 
『이펙티브 디버깅』 맛보기
『이펙티브 디버깅』 맛보기『이펙티브 디버깅』 맛보기
『이펙티브 디버깅』 맛보기
 
Software engineer가 되기 위한 여정
Software engineer가 되기 위한 여정Software engineer가 되기 위한 여정
Software engineer가 되기 위한 여정
 

Plus de r-kor

한글 언어 자원과 R: KoNLP 개선과 활용
한글 언어 자원과 R: KoNLP 개선과 활용한글 언어 자원과 R: KoNLP 개선과 활용
한글 언어 자원과 R: KoNLP 개선과 활용r-kor
 
지능정보시대를 위한 빅데이터, 이대로 좋은가
지능정보시대를 위한 빅데이터, 이대로 좋은가지능정보시대를 위한 빅데이터, 이대로 좋은가
지능정보시대를 위한 빅데이터, 이대로 좋은가r-kor
 
과학기술 발전과 오픈소스
과학기술 발전과 오픈소스과학기술 발전과 오픈소스
과학기술 발전과 오픈소스r-kor
 
오픈 데이터, 스마트 시티 그리고 인공지능
오픈 데이터, 스마트 시티 그리고 인공지능오픈 데이터, 스마트 시티 그리고 인공지능
오픈 데이터, 스마트 시티 그리고 인공지능r-kor
 
유엔 해비타트 신도시의제 실현을 위한 오픈소스 지오스페셜
유엔 해비타트 신도시의제 실현을 위한 오픈소스 지오스페셜유엔 해비타트 신도시의제 실현을 위한 오픈소스 지오스페셜
유엔 해비타트 신도시의제 실현을 위한 오픈소스 지오스페셜r-kor
 
Expanding Open Data Horizons with R and RStudio
Expanding Open Data Horizons with R and RStudioExpanding Open Data Horizons with R and RStudio
Expanding Open Data Horizons with R and RStudior-kor
 
Bristol Approach To Citizen Sensing
Bristol Approach To Citizen SensingBristol Approach To Citizen Sensing
Bristol Approach To Citizen Sensingr-kor
 
OSGeo와 Open Data
OSGeo와 Open DataOSGeo와 Open Data
OSGeo와 Open Datar-kor
 
오픈데이터 관련 글로벌 동향과 정책 기술적 지향점에 대한 고찰
오픈데이터 관련 글로벌 동향과 정책 기술적 지향점에 대한 고찰오픈데이터 관련 글로벌 동향과 정책 기술적 지향점에 대한 고찰
오픈데이터 관련 글로벌 동향과 정책 기술적 지향점에 대한 고찰r-kor
 
Digital Transformation, OSS, 모두를 위한 AI - 마이크로소프트의 관점
Digital Transformation, OSS, 모두를 위한 AI - 마이크로소프트의 관점Digital Transformation, OSS, 모두를 위한 AI - 마이크로소프트의 관점
Digital Transformation, OSS, 모두를 위한 AI - 마이크로소프트의 관점r-kor
 
IoT 구현을 위한 오픈 데이터 이슈
IoT 구현을 위한 오픈 데이터 이슈IoT 구현을 위한 오픈 데이터 이슈
IoT 구현을 위한 오픈 데이터 이슈r-kor
 
황성수 공공데이터 개방과 공공이슈 해결
황성수 공공데이터 개방과 공공이슈 해결황성수 공공데이터 개방과 공공이슈 해결
황성수 공공데이터 개방과 공공이슈 해결r-kor
 

Plus de r-kor (12)

한글 언어 자원과 R: KoNLP 개선과 활용
한글 언어 자원과 R: KoNLP 개선과 활용한글 언어 자원과 R: KoNLP 개선과 활용
한글 언어 자원과 R: KoNLP 개선과 활용
 
지능정보시대를 위한 빅데이터, 이대로 좋은가
지능정보시대를 위한 빅데이터, 이대로 좋은가지능정보시대를 위한 빅데이터, 이대로 좋은가
지능정보시대를 위한 빅데이터, 이대로 좋은가
 
과학기술 발전과 오픈소스
과학기술 발전과 오픈소스과학기술 발전과 오픈소스
과학기술 발전과 오픈소스
 
오픈 데이터, 스마트 시티 그리고 인공지능
오픈 데이터, 스마트 시티 그리고 인공지능오픈 데이터, 스마트 시티 그리고 인공지능
오픈 데이터, 스마트 시티 그리고 인공지능
 
유엔 해비타트 신도시의제 실현을 위한 오픈소스 지오스페셜
유엔 해비타트 신도시의제 실현을 위한 오픈소스 지오스페셜유엔 해비타트 신도시의제 실현을 위한 오픈소스 지오스페셜
유엔 해비타트 신도시의제 실현을 위한 오픈소스 지오스페셜
 
Expanding Open Data Horizons with R and RStudio
Expanding Open Data Horizons with R and RStudioExpanding Open Data Horizons with R and RStudio
Expanding Open Data Horizons with R and RStudio
 
Bristol Approach To Citizen Sensing
Bristol Approach To Citizen SensingBristol Approach To Citizen Sensing
Bristol Approach To Citizen Sensing
 
OSGeo와 Open Data
OSGeo와 Open DataOSGeo와 Open Data
OSGeo와 Open Data
 
오픈데이터 관련 글로벌 동향과 정책 기술적 지향점에 대한 고찰
오픈데이터 관련 글로벌 동향과 정책 기술적 지향점에 대한 고찰오픈데이터 관련 글로벌 동향과 정책 기술적 지향점에 대한 고찰
오픈데이터 관련 글로벌 동향과 정책 기술적 지향점에 대한 고찰
 
Digital Transformation, OSS, 모두를 위한 AI - 마이크로소프트의 관점
Digital Transformation, OSS, 모두를 위한 AI - 마이크로소프트의 관점Digital Transformation, OSS, 모두를 위한 AI - 마이크로소프트의 관점
Digital Transformation, OSS, 모두를 위한 AI - 마이크로소프트의 관점
 
IoT 구현을 위한 오픈 데이터 이슈
IoT 구현을 위한 오픈 데이터 이슈IoT 구현을 위한 오픈 데이터 이슈
IoT 구현을 위한 오픈 데이터 이슈
 
황성수 공공데이터 개방과 공공이슈 해결
황성수 공공데이터 개방과 공공이슈 해결황성수 공공데이터 개방과 공공이슈 해결
황성수 공공데이터 개방과 공공이슈 해결
 

RUCK 2017 권재명 효율적 데이터 과학과 데이터 조직을 위한 7가지 요인

  • 1. 효율적 데이터 과학을 위한 7가지 팁 2017년 10월 권재명 https://dataninja.me/
  • 2. 데이터 분석이 취미이자 직업인 통계학자 출신의 실리콘밸리 데이터 과학자. 1972년에 서울에서 태어났다. 어려서부터 컴퓨터를 좋아해서 전산학을 공부하고자 서울대학교 계산통계학과에 입학했다 (1990년). 하지만 대학 2학년 때 들은 통계수업에 매료되어 통계를 전공하기로 결심하여 서울대 통계학 학사(1994년), 석사(1996년)를 거쳐 버클리대학교 (UC Berkeley)에서 박사(2000년) 학위를 받았다. 졸업 후 같은 대학에서 교통 데이터 분석 연구원으로 활동했고, 이후 이스트베이 캘리포니아주립대학교 (Cal State East Bay)에서 통계학과 조교수를 지냈다. 2009년부터 지금까지 실리콘밸리의 인터넷, 테크 기업에서 데이터 과학자로, 그리고 분석 팀 리더로 활동 중이다. 최근 "따라 하며 배우는 데이터 과학"(2017)를 출간했다. https://dataninja.me/
  • 3. 데이터 과학 이론은 --- 변하고, 툴은 --- 변한다
  • 4. 데이터 과학 이론은 천천히 변하고, 툴은 빨리 변한다
  • 5. 미적분학: 뉴튼과 라이프니츠 (17세기) 선형대수 / 행렬연산 ● "determinant" - 라이프니츠 (17세기) ● "matrix" - J.J.Sylvester (1848) ● "matrix algebra" - Arthur Cayley (1855) 확률론 ● 중심극한 정리 - 라플라스 + (1778) ● 베이즈 확률론 (1763) 이론은 천천히 변하고, 툴은 빨리 변한다: 수학-확률 https://en.wikipedia.org/wiki/History_of_calculus
  • 6. 최소제곱법 - Carl Friedrich Gauss + (1795) 회귀분석 - Francis Galton + (19세기 후반) MLE - R.A.피셔 + (20세기 초) 이론은 천천히 변하고, 툴은 빨리 변한다: 확률-통계
  • 7. 랜덤 포레스트 - L. Breiman+ (~2001) 부스팅 - J. Friedman+ (~1999) 라쏘+ - J. Friedman+ (~2008) 이론은 천천히 변하고, 툴은 빨리 변한다: 통계-머신러닝
  • 8. 이론은 천천히 변하고, 툴은 빨리 변한다: 딥러닝 https://beamandrew.github.io/deeplearning/2017/02/23/deep_learning_101_part1.html
  • 9. 이론은 천천히 변하고, 툴은 빨리 변한다: OS, 랭귀지 유닉스 - 1970년대 C - 커니건&리치 (1972) SQL - (1979) 자바 - James Gosling (1995) 파이썬 - Guido van Rossum (1989) S - Chambers, Becker, Wilks of Bell Labs (1988) R - R. Ihaka and R. Gentleman (2000)
  • 10. R스튜디오 파이썬 libraries ● scikit learn (2011) ● tensorflow, keras R libraries ● tidyverse ● rmarkdown ● htmlwidgets 이론은 천천히 변하고, 툴은 빨리 변한다: 패키지
  • 11. 컴퓨팅 + 데이터 이론은 천천히 변하고, 툴은 빨리 변한다: 딥러닝 https://www.matroid.com/scaledml/2017/jeff.pdf
  • 12. 컴퓨팅 + 데이터 따름정리 1. 데이터 과학 적용 영역의 폭발적 증가 따름정리 2. 데이터 과학자 수요 폭발적 증가 이론은 천천히 변하고, 툴은 빨리 변한다: 딥러닝 https://www.matroid.com/scaledml/2017/jeff.pdf
  • 13. 이론 = 수학, 확률, 통계, 머신러닝, 딥러닝, .... 데이터 과학 = 이론
  • 14. 이론 = 수학, 확률, 통계, 머신러닝, 딥러닝, .... 툴 = 코딩, R/파이썬, 패키지, ... 데이터 과학 = 이론 + 툴
  • 15. 이론 = 수학, 확률, 통계, 머신러닝, 딥러닝, .... 툴 = 코딩, R/파이썬, 패키지, ... 적용 = 문제 이해, 해결, 소통 ... 능력 데이터 과학 = 이론 + 툴 + 적용
  • 16. 이론 = 수학, 확률, 통계, 머신러닝, 딥러닝, .... 툴 = 코딩, R/파이썬, 패키지, ... 적용 = 문제 이해, 해결, 소통 ... 능력 데이터 과학 = 이론 + 툴 + 적용 (+경험)
  • 17. 이론 = 수학, 확률, 통계, 머신러닝, 딥러닝, .... 툴 = 코딩, R/파이썬, 패키지, ... 적용 = 문제 이해, 해결, 소통 ... 능력 이상적인 데이터 과학자는 셋을 다 갖춘 사람 데이터 과학 = 이론 + 툴 + 적용 (+경험)
  • 18. 데이터 취득 데이터 가공 탐색적 데이터 분석 문제 정의 데이터 정의 확증적 데이터 분석 자동화리포트 데이터 과학 프로세스
  • 19. 데이터 취득 데이터 가공 탐색적 데이터 분석 문제 정의 데이터 정의 확증적 데이터 분석 자동화리포트 데이터 과학 프로세스 in R dplyr* tidyr* stringr readr* tidyr* ggplot2* rmarkdown flexdashboard DT testthat logging 도커 파이썬 caret * = tidyverse
  • 20. 데이터 과학자의 스트레스와 야근의 원인? 이상적인 데이터 과학자도 항상 효율적인 것은 아니다 (10초간 생각해보기)
  • 21. 데이터 과학자의 스트레스와 야근의 원인? 이상적인 데이터 과학자도 항상 효율적인 것은 아니다 (10초간 생각해보기) ("이론이 부족하다"는 제외)
  • 22. 1. 박하사탕 증후군 - "나 돌아갈래!" "(컴퓨터 크래시) 지난 일주일간 작업한 내 코드는? ㅠㅠ" "분석 코드 필요하다고? 이멜로 보내줄께" "(분석 안돌아감) 3일전에 이 코드는 어땠더라?" http://blog.daum.net/ps212d/114
  • 23. 해결책: 깃을 사용한 분석 코드 관리 git init / git clone git add git commit git push / git pull
  • 24. 분석 프로젝트 시작은 항상 git clone 으로 모든 코드/텍스트를 git add 매일 git commit / git push 깃을 사용한 분석 코드 관리 by Default
  • 26.
  • 27.
  • 32. 남이 작성한 읽기 어려운 코드 내가 (3달 전) 작성한 읽기 어려운 코드 2. 난독증 유발형 - "이 코드는 뭘 하는 코드일까?" http://darai17.tistory.com/44
  • 34. 전문 프로그래머의 하루 일과: 새로운 코드 작성 5% 기존 코드 고치기 25% 기존 코드 이해하기 70% https://blogs.msdn.microsoft.com/peterhal/2006/01/04/what-do-programmers-really-do-anyway- aka-part-2-of-the-yardstick-saga/
  • 35. 해결책: 스타일 가이드 by default "당신이 작성한 코드를 관리할 사람이 당신 집 주소를 아는 정신병자라고 생각하고 코딩하라" - (John Woods, 1991) R 스타일 가이드 - http://style.tidyverse.org/ 파이썬 스타일 가이드 - https://www.python.org/dev/peps/pep-0008/
  • 36. 데이터 과학자의 시급이 컴퓨터의 시급보다 비싸다 일단은 코드를 읽는 이를 위해 최적화 코드 리뷰 기계를 위한 최적화는 나중에 Don't Optimize Until You Have to 기계가 아니라, 읽는 이를 위해 최적화하라
  • 40. RDBMS, Spark 에 저장된 데이터에도 사용 가능 https://cran.r-project.org/web/packages/dplyr/vignettes/dplyr.html
  • 41.
  • 42. 3. 발뺌형 - "헉, 어떻게 이 결과가 나왔었지?" 실험/리포트 결과가 재현이 안된다
  • 44. 재현가능 방법 1: R 마크다운 http://rmarkdown.rstudio.com/
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50.
  • 52. 재현가능 방법 2: 도커 개발 환경 == 테스트 환경 == 프로덕션 환경 데이터 과학 환경 == 테스트 환경 == 프로덕션 환경
  • 54.
  • 55.
  • 57.
  • 58. 4. 단순반복형 - "과도한 복사-붙여넣기" https://www.quora.com/What-is-the-importance-of-ctrl-c- +-ctrl-v-for-programmers 팀/개인 라이브러리를 안만들고 잘라붙이기로 해결한다. 라이브러리를 사용하여 짧게 할 수 있는 일을 길게 한다.
  • 59. A. 라이브러리를 사용한 빠른 프로토타입 B. 반복되는 작업은 라이브러리화 3번 이상 사용되는 코드는 라이브러리/패키지화를 고려해야 실험 인프라에 투자 - 나중에 다양한 실험을 빠르게 할 수 있도록 해결책: 라이브러리화
  • 60. 빠른 프로토타입 - flexdashboard https://jjallaire.shinyapps.io/shiny-crandash/ (~300줄)
  • 61. 빠른 프로토타입 - leaflet https://rstudio.github.io/leaflet/choropleths.html
  • 62. 빠른 프로토타입 - DT https://rstudio.github.io/DT/
  • 63. 빠른 프로토타입 - keras 딥러닝 https://keras.rstudio.com/
  • 64. MNIST
  • 66. 반복되는 작업은 라이브러리화 데이터 취득 데이터 가공 탐색적 데이터 분석 문제 정의 데이터 정의 확증적 데이터 분석 자동화리포트 dplyr* tidyr* stringr readr* tidyr* ggplot2* rmarkdown flexdashboard DT testthat logging 도커 파이썬 caret * = tidyverse
  • 67. "How R helps Airbnb make the most of its data" Community - R 교육 Tooling - 어떻게 하면 팀 라이브러리 개발에 참여하게 할 수 있을까? https://peerj.com/preprints/3182/
  • 68. 5. 토끼굴형 - "... 이런 설정을 해 보았습니다 ..." https://www.thirdcoastfestival.org/ explore/feature/rabbit-hole-show 대다수의 시간을 분석의 목적과 무관한 탐색에 사용한다. 지나친 완벽주의 데드라인의 개념이 없다. 분석 기간이 너무 길다.
  • 69. 애자일 방법론 - 2주 스프린트 - (거의) 매일 짧은 싱크업/피드백 Define "Done" (결과물은 리포트인가? 프로토타입인가? 둘 다인가?). Define "Metrics/KPI" (효과적 지표를 결정하고 계속 측정해야) 투명한 작업진척 공유. 불완전한 결과도 공유 (Expect Errors) 열린 결말을 위한 연구시간은 20% 이하로. 해결책: 진화적 반복 "Iterative" by default
  • 73. 비전문가에게 조리있게 분석결과를 전달하지 못한다. 리포트는 주로 R 코드 출력 결과 복사물과 다듬어지지 않은 파이썬 노트북 등이다. 6. 불통형 - "분석 결과요? 여기 R 출력입니다"
  • 74. 피드백 받기; 지식의 저주 피하기 (Get Feedback) 연습! (Practice, Practice, Practice) 최종 자료는 예쁘게 (Look is Important; Leverage Templates) 가능하면 후원자/소통 전문가를 찾으라. (Find Champion / Advocate) 해결책: 소통 훈련 by Default
  • 76. 7. 마피아형 - "오른손이 하는 일을 왼손이 모르게..." 코드와 분석결과를 공유하지 않는 팀 코드와 분석결과를 공유하지 않는 개인
  • 77. 해결책: 개방성 Open by Default 데이터 과학자가 코드/문서를 공개하지 않는 이유는? 깃 in Public by default 구글독 Public by default 근본적으로 조직 문화의 문제 - 리더십 역할이 중요하다
  • 78. 1.박하사탕형 2. 난독증 유발형 3. 발뺌형 4. 단순반복형 5. 토끼굴형 6. 불통형 7. 마피아형
  • 79. 1.박하사탕형 (깃 코드관리) 2. 난독증 유발형 (스타일 가이드) 3. 발뺌형 (재현가능) 4. 단순반복형 (라이브러리화/사용) 좋은 디폴트 5. 토끼굴형 (진화적 반복/애자일) 6. 불통형 (소통 연습) 7. 마피아형 (개방성)
  • 80. 7. Open 5. Iterative / Agile 1. Codebase in Git 2. Readability via Style Guide 3. Reproducibility 4. Efficient Use of Libraries 좋은 디폴트 6. Communication C S R L I C O
  • 81. 여러분의 팀의 현재 점수는? 2 = 항상 하고 있다 1 = 가끔 하고 있다 0 = 못하고 있다 점수 1. 깃 코드관리 2. 가독성 3. 재현 가능성 4. 라이브러리 5. 진화적 반복 6. 소통 훈련 7. 개방성 합계
  • 82. 여러분의 팀의 현재 점수는? 2 = 항상 하고 있다 1 = 가끔 하고 있다 0 = 못하고 있다 점수 1. 깃 코드관리 X 2 2. 가독성 X 2 3. 재현 가능성 X 1 4. 라이브러리 X 0 5. 진화적 반복 X 1 6. 소통 훈련 X 0 7. 개방성 X 1 합계 7
  • 83. 요약 ● 데이터 과학의 이론과 툴/코딩 ● 데이터 과학자의 스트레스와 야근의 원인 7유형 a. 박하사탕형, 난독증 유발자, 발뺌형, 단순반복형, 토끼굴형, 불통형, 마피아형 ● 데이터 과학자의 스트레스와 야근을 줄이는 팁: a. 박하사탕형 -> 깃 코드관리 Codebase in Git (C) b. 난독증 유발자 -> 가독성 Readability, Style Guide (S) c. 발뺌형 -> 재현 가능성 Reproducible (R) d. 단순반복형 -> 라이브러리 Efficient Use of Libraries (L) e. 토끼굴형 -> 진화적 반복 Iterative (I) f. 불통형 -> 소통 훈련 Communication (C) g. 마피아형 -> 개방성 Open (O)
  • 84. Q&A