Se ha denunciado esta presentación.
Utilizamos tu perfil de LinkedIn y tus datos de actividad para personalizar los anuncios y mostrarte publicidad más relevante. Puedes cambiar tus preferencias de publicidad en cualquier momento.
Apr 2015
권재명
데이터분석의 길 3:
“R 워크플로우 (스토리텔링)”
● 스토리텔링 (storytelling)
o 데이터로부터 흥미있거나 유익한 결론을 이끌어내기.
o 결과물: 슬라이드.
● 예측모형개발 (predictive modeling)
o 데이터로부터 미래를 예측하기.
o 결과물:...
이미 훌륭한 자료/책들이 수두룩!
● 구글 "how to do ... in r" 혹은 "r ..."
● R-project 홈페이지에 링크된 자료들.
o FAQ, R 관련 책소개 (현재 150권!), 공식 매뉴얼 (특히 ...
1. 문제 정의: 어떤 문제를 해결할 것인가?
2. 데이터 정의: 어떤 자료를 이용할 것인가?
3. 데이터 준비: 텍스트 화일(csv 포맷)이나 데이터베이스 테이블
a. 다른 프로그램들 (Python, MySQL cli...
지나치게 유명한* 피셔의 붓꽃 자료 (Fisher's iris dataset)를 분석해보자.
- 분석목적: 스토리텔링 / 예측모형개발
- R 사용모드: 대화형 분석 / 배치 (batch)
- 데이터 분석 워크플로우 시작...
1. R 프로젝트 시작
1. 일단 ~/projects 디렉토리를 만들자.* (앞으
로 두고두고 쓸 디렉토리이다.)
2. RStudio를 실행.
3. RStudio에서 옆의 그림처럼 새로운 프로젝
트를 생성한다.
그러면 ...
2. R Script 화일 열기
메뉴에서 “File > New File > R Script” 를 실행하자. (물론
Cmd+Shift+N 숏컷 키가 더 간지난빠르다.)
Cmd+S 로 바로 저장하자. 이름은 session-...
1. 화일 에디터에서
입력/편집후 실행
(Cmd+Enter) 하면
...
3. 차트는 여기로
가는... 그런 겁니
다.
2. 콘솔에서 실행
되는게 보이고...
3. R 기본기 복습: 도움말. 자동완성. 패키지.
150 관측치 (observations)
5 변수 (variables)
● Sepal.Length : 꽃받침 길이 (연속변수)
● Sepal.Width : 꽃받침 넓이 (연속변수)
● Petal.Length : 꽃잎 길...
5. 분포 살펴보기: 단변량
스토리: "꽃받침 길이는 4-8cm, 폭은 2-4cm 정도. 꽃잎 길
이는 1-7cm, 폭은 0-2.5cm. 꽃잎 길이와 폭 모두 bimodal
(two-peaks) 모양"
필수함수: sum...
5. 분포 살펴보기: 단변량
summary() 를 통한 수치 통계량은 "스토리
텔링"을 위한 분석에는 큰 도움이 되지 않는
경우가 많다.
도리어 자료에 결측치(missing value; NAs)
가 있는지 손쉽게 확인하...
5. 분포 살펴보기-다변량
스토리: "모든 변량들간의 산점도(scatterplot matrix)에
서는 두 군집(cluster)이 두드러진다. 꽃잎 길이와 폭은
상관관계가 높다."
필수함수: pairs(); plot()...
산점도 매트릭스에 품종을 색깔로 나타내주는 방법중 하
나이다.
R 퀴즈:
1. red, green3, blue 는 각각 어떤 품종일까? (힌트:
unclass(iris$Species) 혹은
levels(iris$Spec...
5. 분포 살펴보기-다변량
스토리: "setosa 품종은 꽃잎의 크기가 무척 작지만 꽃받침
의 폭은 가장 넓다. virginica는 꽃잎의 크기가 가장 큰편이
고 꽃받침은 좁고 길다. versicolor는 virgini...
6. R 세션 끝내기
스크립트를 저장하고 RStudio를 종료하면 된다.
워크스페이스를 저장하겠냐는 질문에는 "Yes"라고 대답하면 현재 세션에서 생성
한 변수들이 디스크에 저장된다. (현 디렉토리에 .RData 화일이...
앞에서 보여준 차트들과 예시된 스토리들을 정리하면 이번 분석의 최종 결과물인
스토리텔링 슬라이드(보고서)가 완성된다.
숙제: 붓꽃자료를 R로 분석하여서 5-10 슬라이드 분량으로 스토리텔링 슬라이드
를 만들어 보세요.
...
품종을 모르는 새로운 붓꽃을 발견했
다. 꽃잎과 꽃받침의 크기를 관측한 결
과 다음과 같았다. 이 붓꽃의 품종은
과연 무엇일까?
R퀴즈: 앞의 산점도 매트릭스에 이 관
측치를 표시할 수 있을까?
이것은 스토리탤링이 아니...
Próxima SlideShare
Cargando en…5
×

데이터분석의 길 3 “r 워크플로우 (스토리텔링)”

4.535 visualizaciones

Publicado el

데이터 분석의 길 시리즈 (권재명)

Publicado en: Datos y análisis
  • Inicia sesión para ver los comentarios

데이터분석의 길 3 “r 워크플로우 (스토리텔링)”

  1. 1. Apr 2015 권재명 데이터분석의 길 3: “R 워크플로우 (스토리텔링)”
  2. 2. ● 스토리텔링 (storytelling) o 데이터로부터 흥미있거나 유익한 결론을 이끌어내기. o 결과물: 슬라이드. ● 예측모형개발 (predictive modeling) o 데이터로부터 미래를 예측하기. o 결과물: 알고리즘. 많은 경우는 이 둘의 혼합이다. 이번에는 R 자료분석을 통해 스토리텔링을 하는 예를 살펴보자. 분석의 목적: 스토리텔링과 예측모형
  3. 3. 이미 훌륭한 자료/책들이 수두룩! ● 구글 "how to do ... in r" 혹은 "r ..." ● R-project 홈페이지에 링크된 자료들. o FAQ, R 관련 책소개 (현재 150권!), 공식 매뉴얼 (특히 Introduction to R), 비공식 매뉴얼/튜 토리얼 모음 등등. o 주제별 R 패키지 모음. ● (한글) http://www.openstatistics.net/ 에 링크된 여러 자료. ● (한글) R을 이용한 데이터 분석실무 (2014) by 서민구 o 기초부터 중-고급까지 친절하게 쓰여진 글. ● Advanced R (2015) by Hadley Wickham: 특히 R 어휘력 (vocabulary) 복습 o 초고수의 내공을 느낄 수 있는 글. 단, R 언어 자체는 다루지 않는다
  4. 4. 1. 문제 정의: 어떤 문제를 해결할 것인가? 2. 데이터 정의: 어떤 자료를 이용할 것인가? 3. 데이터 준비: 텍스트 화일(csv 포맷)이나 데이터베이스 테이블 a. 다른 프로그램들 (Python, MySQL client, Unix tools, ...)이 수고한다. 4. R로 데이터 읽어들이기: read.csv() 함수, RMySQL 패키지, ... 5. R 데이터 청소와 가공 6. R 데이터 분석과 시각화: EDA (Exploratory Data Analysis) 7. R 통계 모델링 8. 5-7을 문제를 해결할 때까지 반복 9. 결론내기: 스토리 텔링 (슬라이드) 혹은 예측모형 (알고리즘) 데이터분석 워크플로우 R을 사용하는 단계
  5. 5. 지나치게 유명한* 피셔의 붓꽃 자료 (Fisher's iris dataset)를 분석해보자. - 분석목적: 스토리텔링 / 예측모형개발 - R 사용모드: 대화형 분석 / 배치 (batch) - 데이터 분석 워크플로우 시작단계: 1. 문제 정의: 붓꽃 자료의 변수 분포를 살펴보고 변량의 관계를 연구하고.... 사실 잘 모른다. 자료를 보기 전까지는. 유식한 표현으로 "Open-ended"라고 한다. 2. 데이터 정의: 이미 정의되어 있다. 3. 데이터 준비: 이미 준비되어 있다. * 그렇다. 통계에 종사하는 많은 이들은 이 자료를 하도 많이 봐서 지겨울 수 있다. 이제 R 세션을 시작해 보자
  6. 6. 1. R 프로젝트 시작 1. 일단 ~/projects 디렉토리를 만들자.* (앞으 로 두고두고 쓸 디렉토리이다.) 2. RStudio를 실행. 3. RStudio에서 옆의 그림처럼 새로운 프로젝 트를 생성한다. 그러면 `~/projects/data-tao` 디렉토리가 만들 어지고 그 안에 data-tao.Rproj라는 화일이 생긴 다. * 터미널에서 mkdir ~/projects 를 실행하거나 파인더 사용.
  7. 7. 2. R Script 화일 열기 메뉴에서 “File > New File > R Script” 를 실행하자. (물론 Cmd+Shift+N 숏컷 키가 더 간지난빠르다.) Cmd+S 로 바로 저장하자. 이름은 session-01.R 앞으로 명령 실행은 다음처럼 하기로 하자* 1. 화일 에디터에 명령을 입력 2. Cmd+Enter (현재 라인 실행; 결과는 콘솔에)** 여러줄을 선택(Shift+커서키)한 후 실행도 가능하다. * 콘솔에 바로 명령을 입력하여 실행하는 것은 아주, 아주, 간단한 작업 외에는 좋은 방식이 아니다. 기본적으로 R Script 화일에서 편집하여 콘솔로 보내는 버릇을 들이자. ** 이외의 다른 단축키는 이 페이지에...
  8. 8. 1. 화일 에디터에서 입력/편집후 실행 (Cmd+Enter) 하면 ... 3. 차트는 여기로 가는... 그런 겁니 다. 2. 콘솔에서 실행 되는게 보이고...
  9. 9. 3. R 기본기 복습: 도움말. 자동완성. 패키지.
  10. 10. 150 관측치 (observations) 5 변수 (variables) ● Sepal.Length : 꽃받침 길이 (연속변수) ● Sepal.Width : 꽃받침 넓이 (연속변수) ● Petal.Length : 꽃잎 길이 (연속변수) ● Petal.Width : 꽃잎 넓이 (연속변수) ● Species : 종 (범주변수 Factor) 필수함수: str(); head() 4. 자료구조 살펴보기
  11. 11. 5. 분포 살펴보기: 단변량 스토리: "꽃받침 길이는 4-8cm, 폭은 2-4cm 정도. 꽃잎 길 이는 1-7cm, 폭은 0-2.5cm. 꽃잎 길이와 폭 모두 bimodal (two-peaks) 모양" 필수함수: summary(); plot(); hist(); R 퀴즈 (풀어보세요): 1. old_par=par(...)를 사용한 이유는? 2. with(...)가 하는 일은? 왜 attach(iris) 를 사용 하지 않았을까? 3. 히스토그램의 빈(bin) 갯수를 늘리는 방법은? y-축을 빈도(Frequency)가 아니라 확률로 그리기 위해서는? 각 차트 타이틀을 한글로 바꾸는 방법은? (힌트: ?hist)
  12. 12. 5. 분포 살펴보기: 단변량 summary() 를 통한 수치 통계량은 "스토리 텔링"을 위한 분석에는 큰 도움이 되지 않는 경우가 많다. 도리어 자료에 결측치(missing value; NAs) 가 있는지 손쉽게 확인하는데 더 도움이 된 다. R 퀴즈: 1. 오른쪽 코드를 실행시켜보고 결과를 summary(iris)와 비교해보자. 무엇 이 달라졌는가? 2. 이 "시뮬레이션"에서 set.seed(1)를 실 행한 이유는?
  13. 13. 5. 분포 살펴보기-다변량 스토리: "모든 변량들간의 산점도(scatterplot matrix)에 서는 두 군집(cluster)이 두드러진다. 꽃잎 길이와 폭은 상관관계가 높다." 필수함수: pairs(); plot() R 퀴즈: 1. 앞의 히스토그램과 이 산점도 매트릭스를 한장에 담아내는 방법은? (힌트: ?pairs 그리고 example(pairs) ) 2. [고급] 왜 plot(iris) 와 pairs(iris)는 같은 결과를 낼까? (힌트: "R method dispatch"를 구글 검색해 보자. 그리고 ??plot.data.frame 그리 고 class(iris).)
  14. 14. 산점도 매트릭스에 품종을 색깔로 나타내주는 방법중 하 나이다. R 퀴즈: 1. red, green3, blue 는 각각 어떤 품종일까? (힌트: unclass(iris$Species) 혹은 levels(iris$Species) ) 2. 품종 이름을 레전드(legend)로 그려주는 방법은? ( 힌트: ?legend) 3. iris[,1:4] 와 iris[1:4] 사이의 차이가 있는가? (힌트: ?"[" 혹은 ?"[.data.frame" ) 5. 분포 살펴보기-다변량
  15. 15. 5. 분포 살펴보기-다변량 스토리: "setosa 품종은 꽃잎의 크기가 무척 작지만 꽃받침 의 폭은 가장 넓다. virginica는 꽃잎의 크기가 가장 큰편이 고 꽃받침은 좁고 길다. versicolor는 virginica와 유사하지 만 꽃잎이 조금 작다. " R 퀴즈: 1. 마찬가지의 그림을 좀 더 쉽게 그릴 수있는 방법은? (힌트: lattice 패키지의 splom 함수. library(lattice) 그리고 example(splom))
  16. 16. 6. R 세션 끝내기 스크립트를 저장하고 RStudio를 종료하면 된다. 워크스페이스를 저장하겠냐는 질문에는 "Yes"라고 대답하면 현재 세션에서 생성 한 변수들이 디스크에 저장된다. (현 디렉토리에 .RData 화일이 생성된다) 이 분석을 나중에 계속하고 싶으면 data-tao.Rproj 화일을 바로 실행하면 된다. 아 니면 RStudio에서 "Open Project..."로 열어주던지. R 퀴즈: 1. 이와 같은 패턴을 사용하면 setwd() 를 사용할 필요가 없게 된다. 2. Google's R Style Guide를 읽어보자.
  17. 17. 앞에서 보여준 차트들과 예시된 스토리들을 정리하면 이번 분석의 최종 결과물인 스토리텔링 슬라이드(보고서)가 완성된다. 숙제: 붓꽃자료를 R로 분석하여서 5-10 슬라이드 분량으로 스토리텔링 슬라이드 를 만들어 보세요. 차트, 슬라이드의 구성의 베스트 프랙티스 (best practice)에 대해서는 다음편에 서 다룰 예정이다. 7. 결론내기: 스토리텔링 슬라이드
  18. 18. 품종을 모르는 새로운 붓꽃을 발견했 다. 꽃잎과 꽃받침의 크기를 관측한 결 과 다음과 같았다. 이 붓꽃의 품종은 과연 무엇일까? R퀴즈: 앞의 산점도 매트릭스에 이 관 측치를 표시할 수 있을까? 이것은 스토리탤링이 아니라 예측*의 문제이다. R에는 통계/머신러닝을 위 한 수많은 함수들이 있고, 조금만 구글 하면 다양한 모형들을 돌릴 수 있다. 하지만 제대로 돌리기 위해서는 ESL (Elements of Statistical Learning)같 은 책을 읽는 것이 도움이 된다. * 이 문제는 품종의 갯수가 세개이므로 "multi-class classification"으로 "two-class classification"보다 약간 더 복잡하다. 부록: 모델링/예측모형개발

×