R 전문가로가는길 -- 빅데이터활용바로보기 -- Heewon Jeon (NexR Corp.) - Author/Maintainer of KoNLP package. - Admin of Korea CRAN server
Interactive Data Analysis 레거시데이터분석 컴퓨팅리소스가굉장히비쌌다. 많은입력값많은출력값부담없이여러번수행하기힘듦모든결과를쓰는건아님 현재데이터분석 컴퓨팅리소스가굉장히싸졌다. 어떤분석을수행하든부담이없어짐데이터입력, 변환, 무응답대체, 데이터핸들링, 시각화, 모델링등분석등재반의작업을반복수행하면서알고자하는의문을하나둘씩풀어가는분석이수행가능해짐 역동적인분석에적합한언어 R
일반화된데이터분석과정 데이터핸들링 시각화 모델링
R is an environment for 데이터핸들링 데이터소스에접근하고 데이터핸들링 자르고, 붙이고, 변형하고 모델링 / 시뮬레이션 통계모델 통계시뮬레이션 데이터시각화 일반적인통계시각화시각화모델링 진보되고, 다양한시각화를위한패키지
Why R? R 은공짜다. R 은문서화가잘되어있다. R 은대부분의플랫폼에서잘돌아간다. R 은오픈소스이다. R 은다양한통계패키지를포함하고있다. R 은시각화에강하다. R 은직관적인데이터핸들링을제공한다. R 은복잡한일을처리하기적합하다. R 은재현성을충분히발현할환경을갖추고있다. R 은교과서에나온통계적인용어를그대로사용한다. R 은학생들로하여금프로그래밍을하도록유도한다. R 이배우는데많은시간이걸리지만, 일단학습후에는사용자로하여금다양한분석을할수있는자유로움을준다. R 은빅데이터용분석환경이다. http://robjhyndman.com/researchtips/rvsexcel/
Really R? 개발자도배우기쉽지않은언어 함수형, 절차형언어의혼합 통계용어난무 통계학자도배우기쉽지않은언어 프로그래밍의어려움 자유로운분석추구쉽다.
But R! 해외리서치영역에서는 R 이기본이되었음 Reproducible Research Literate Programming 국내대학에서 R 을가르치기시작 대형벤더에서 R 을인터페이싱함 Oracle, Teradata, SAS, SPSS...
R has simple GUI
RStudio is better
R Package System Total 3,921 Packages 오픈소스라이선스의파워 Fortran, C++, C, Java 등대부분의언어와연동가능한 R 의유연성 리서치영역에서활발한사용
If you want to do twitter analysis. Data Source twitter Data Preprocessing KoNLP Visualization wordcloud 분석방법구상적은시간으로구현 ( 약 30라인 ) 평가 or 리포팅 실제분석가의상상력의한계만있을뿐이며, 어떤분석이든지필요한것대부분은패키지에서커버하고있음
R Packaging System 사용예 - 1
R Packaging System 사용예 - 2
R data structures for DBA - 1
R data structures for DBA - 2
R data structures for DBA - 3
Popularity of R http://flowingdata.com/2010/09/28/poll-results-what-doyou-use-to-analyze-andor-visualize-data/ http://www.kdnuggets.com/polls/2012/analytics-datamining-big-data-software.html
공공데이터를활용한시각화
빅데이터분석에서의 R 의문제점 / 해결책 메모리한계이슈모든데이터를메모리에로딩후처리하는작업방식 ff, bigmemory, RevoScaleR 10GB 이상데이터는처리가능하나너무느리다는단점불필요한데이터저장으로인한메모리부족현상 gc(), rm() 32비트에서표현가능한숫자만이사용, 2^31-1 R 2.15부터 2^51 이상의벡터길이사용가능 No int64 int64 package from Google 메모리단편화 64bit 머신사용더많은메모리 Single Core 이슈멀티코어 CPU에서 1코어만사용한다. R 2.14 부터 parallel 패키지기본탑재 TB급빅데이터는여전히처리하기힘듦
독보적인 Hadoop 기반 Big Data 분석플랫폼 세계적인데이터분석커뮤니티인 Kdnugget 의설문조사 작년에비해 5 배이상빅데이터응답자가늘어났다. 작년에이어 Hadoop 기반의오픈소스플랫폼이 1 위 http://www.kdnuggets.com/polls/2012/analytics-data-mining-big-data-software.html
RHipe RHIPE(R and Hadoop Integrated Processing Environment) 는 Purdue Univ. 의통계학박사과정학생이었던 Saptarshi Guha 에의해개발된 R 라이브러리 R 을 Hadoop 환경에서 MapReduce 개념의분산처리가가능하게해줌 Amazon 의 EC2 에서사용가능함 (http://www.stat.purdue.edu/~sguha /rhipe/doc/html/ec2.html ) 최근에 RHadoop 이라는 Revolution Analytics 에서나온오픈소스패키지출시 Facebook 에서의 R+RHIPE 에대한 Guha s lecture http://www.lecturemaker.com/2011/02/rhipe/
RHive - Hive http://hive.apache.org A data warehouse system for Hadoop Open Source (Apache License) ANSI SQL Support Facebook의 Main Data Warehousing System
RHive Language : R or ANSI-SQL R-Hive Bridge R Export R 기반분산처리 Framework 가장널리사용하는 Analytic Tool CRAN : 4,000+ Rich R library Set 용이한 Library/Procedure 제작다양한 Visualization, IDE 도구 Hadoop 기반분산병렬처리 ANSI SQL : Low Leaning Cost 용이한기능확장 : UDF, UAF > install.package("rhive")
RHive - Demo HDFS interface Hive query interface Map/Reduce Programming with R
RHive - RHive Analytics RHive 위에구현된대용량분산데이터마이닝시스템 Clustering K-means Prediction Multi-variate linear regression Classification tree Sampling random, stratified, cluster, quota, sampling Modeling model parameter tuning feature selection
Data Scientist's way to solve real world problem Raw 포맷은다양하며, 이들을효과적으로처리할수있어야한다. Hive 는분석인원이최적으로운영할수있는정도의컴퓨팅리소스를가져야한다. 최대한많은양의메모리를확보한다. preprocessing for input ETL on Hive R analysis Hive 에입력에맞는포맷으로데이터처리 (using Python or Perl) Aggregate, Filtering 작업혹은샘플링
데이터과학자로서요구되는기술 경험 데이터핸들링능력 (big and small) 컴퓨터공학 통계분석, 시각화, 모델링 통계, 마이닝, 인지심리 데이터시스템활용능력 컴퓨터공학
데이터과학자로서요구되는자질 창의력 : 분석스토리를만드는능력 적극성 : 데이터그리고자신에대한믿음을바탕으로... 커뮤니케이션또는프리젠테이션능력
R 데이터분석가가되기위해서는? R 언어이해 학습 경험혹은연습 통계 / 마이닝능력 통계학 데이터마이닝, 기계학습 시각화 가르쳐주는곳없음 책기반으로독학 / 실습혹은인터넷참고 경험 오픈데이터를이용한분석실습 / 해석 / 호기심필수 데이터마이닝대회를통한노하우습득
마지막한꼭지! 빅데이터가정말도움이되는가?
어떤그래프이길원하시나요?
빅데이터가항상도움이되는건아니다! 빅데이터붐을초래한... We don t have better algorithms. We just have more data. Peter Norvig-- 왜그런가? 많은예측변수는많은데이터를필요로한다. 변수가적 다면? 혹은쓸모없는변수를넣는다면? 결론 큰데이터에적합한접근방법을사용하지않는다면그 데이터는쓰레기밖에되지못한다. 빅데이터를확인하고접근방법을결정하는데이터과학자혹은분석가의역할이무엇보다중요하다.
플랫폼이대체할수없는데이터과학자 데이터과학자 빅데이터플랫폼
빅데이터분석에있어데이터과학자의요구사항 빠르게눈으로직접확인해야될것들이많아졌다. 빠르게다양한포맷의데이터를병합하고쪼개보고꼬 아봐야된다. 빠르게최신의알고리즘부터오래된알고리즘까지적 용가능한지시도해야된다.
Q & A madjakarta@gmail.com http://freesearch.pe.kr