r을 이용한 빅데이터 분석 실습 -...

12
R이용한 빅데이터 분석 실습 Chapter 10

Upload: others

Post on 30-Aug-2019

0 views

Category:

Documents


0 download

TRANSCRIPT

R을 이용한 빅데이터 분석 실습 Chapter 10

R 개요

R 개요

• 1993년 뉴질랜드 오클랜드 대학의 통계학과 교수 Ross Ihaka와 Robert

Gentleman애 의해서 개발

• 최근 빅 데이터 분석 도구로 사용자가 급증

• 스마트폰, 웨어러블, 유무선 통신 기술 등 최근의 IT기술이 발전하면서 대용

량 데이터가 개개인의 일상적인 환경이 됨

• 정부, 기업, 학교 등 어디에나 대용량의 데이터 환경에 직면해 있음

• 클라우드 컴퓨팅이 보편화되고 오픈 소스 플랫폼이 늘어나면서 머지않아 스

프레드시트를 사용하듯이 개개인이 R을 업무에 활용하게 될 것으로 전망

2

R 개요

R의 특징

• In-Memory Computing으로 처리 속도가 빠르다. 단, 하드웨어 메모리 크기

에 영향을 받을 수 있다.

• Object-oriented programming 방식으로 데이터, 함수, 차트 등 모든 것이

객체로 관리된다.

• Package가 풍부하여 최신의 알고리즘 및 방법론이 제공된다.

• Visualization 도구가 풍부하여 분석에 통찰(가치)을 부여할 수 있는 그래픽

지원이 강력하다.

주요 웹 사이트

• http://www.r-project.org

• http://www.r-project.kr

• http://www.r-bloggers.com

• http://www.google.co.kr

3

R 개요

R Console 설치

• http://www.r-project.org에서 자신의 운영체제에 맞는 Download R 을 클릭

4

R 개요

• CRAN Mirror 사이트에서 다운로드

– http://cran.nexr.com/

– http://healthstat.snu.ac.kr/CRAN/

5

R 개요

윈도우즈 통합개발환경(IDE)에 익숙한 사용자라면 Rstudio 설치

• https://www.rstudio.com/products/rstudio/download/

6

데이터 시각화

데이터 시각화(Data Visualization)

• 메시지를 전달하기 위해서 작성하는 이미지나 다이어그램, 혹은 애니메이션

들의 기술

• 여기서 메시지의 전달은 데이터가 내포하고 있는 정보라 할 수 있음

데이터 시각화를 통해 얻을 수 있는 기능

• 커뮤니케이션(communication): 메시지를 쉽고 빠르게 전달할 수 있음

• 디스커버리(discovery): 새로운 사실 관계를 파악하기 위해서 많은 양의 정보

를 표현함

• 인사이트(insight): 이미 알고 있는 것에 대해서 좀 더 나은 통찰력을 얻을 수

있다.

7

데이터 시각화

자주 사용하는 데이터 시각화 함수들

• plot() : generic 함수(다형성(polymorphism) parameter의 데이터 구조에 따

라 호출되는 실제 함수가 달라짐)

• barplot(), boxplot(), hist(), pie(), etc

• plot에 사용되는 함수

• points : 점 그리기

• lines, segments : 선 그리기

• rect, polygon : 도형 및 면 그리기

• plot에 텍스트 추가하는 함수

• text : 문자출력

• 그 외 plot 관련 함수

• box(그림박스), axis(좌표축), abline(직선), title(제목), legend(범례), grid(격자)

8

데이터 시각화

워드 클라우드(word cloud)

• 빅 데이터를 설명할 때 가장 많이 이용되는 그래프다. 단어의 출현 빈도를

쉽게 이해할 수 있도록 단어를 마치 구름 모양으로 표현하는 시각화 기법

• wordcloud 패키지의 wordcloud() 는 워드 클라우드를 그리는 함수

• words, freq

– words는 표현하고자 하는 단어들의 문자 벡터이며, freq는 단어들의 도수

(frequency)를 나타내는 수치 벡터

• scale

– 단어의 크기의 범위를 나타내는 길이 2의 벡터로, 기본 값은 c(4,5)

9

wordcloud(words, freq, scale=c(4,.5), min.freq=3, max.words=Inf,

random.order=TRUE, random.color=FALSE, colors="black",

family="malgun", ......)

데이터 시각화

• min.freq

– min.freq(minimum frequency)보다 작은 도수를 갖는 단어는 출력하지 않음. 기본

값은 3으로 3보다 작은 도수의 단어는 출력하지 않음

• max.words

– max.words(maximum number of words) 인수는 출력하고자 할 단어의 개수 지정

– 기본 값은 Inf으로 words에서 지정한 모든 단어가 출력

• random.order

– 워드 클라우드에서 그리는 단어는 순서에 따라 화면의 중심에서 가장 자리로 배

치. random.order 인수가 TRUE이면 단어가 임의의 순서로 그려지고, FALSE이면

출현 빈도가 높은 단어일수록 중앙에 위치. 기본 값은 TRUE

• random.color

– 워드 클라우드에서 그리는 단어의 색상은 도수의 크기별로 달리할 수 있음.

random.color 인수가 FALSE이면 도수의 내림차순으로 colors 인수에서 지정한 색

상의 순서로 단어의 색상이 지정되고, TRUE이면 무작위로 지정

10

데이터 시각화

• colors

– colors 인수는 도수별로 표현할 단어의 색상을 지정

• 구글에서 ‘텍스트 마이닝’이라는 키워드로 검색한 텍스트 데이터에 대한 워

드 클라우드

11

데이터 시각화

KoNLP 패키지

• 한글 자연어 처리(Korean Natural Language Processing)로 한글 텍스트 처

리를 위한 패키지

• 패키지 주요 함수

– useSejongDic() : KoNLP에 있는 세종 사전을 사용하기 위한 함수

– extractNouns() : 한글 텍스트에서 명사만을 추출하기 위한 함수

– nchar() : 단어의 글자 수를 세는 함수

– nouns[nchar(nouns)>=2] : 검색하고자 하는 단어의 글자 수에 제한을 두려고 할

때 사용. nouns에 있는 단어의 글자 수가 2자 이상 되는 단어만 검색

– gsub() : 문자열에서 패턴을 검색하여 지정된 문자열로 대체하는 함수

12