r을 이용한 빅데이터 분석 실습 -...
TRANSCRIPT
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 개요
• CRAN Mirror 사이트에서 다운로드
– http://cran.nexr.com/
– http://healthstat.snu.ac.kr/CRAN/
5
데이터 시각화
데이터 시각화(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