Next Revolution
Toward Open Platform




       R and RHive
in Data Scientist’s toolbox



                       NexR Data Scientist
                         Jeon Hee-Won
시작하며 – 빅 데이터 분석 -
 “분석”에                있어서의 “빅 데이터” 문제
       데이터가 크기 때문에 일어나는 모든 일
         수집과 저장 불가능  플랫폼
         참을 수 없는 분석 수행 속도  분석
         로딩조차 불가능한 데이터 크기  분석

   “빅 데이터”에 대한 “분석”의 입장
       분석은 빅 데이터라는 거대한 근육에 지능을 불어 넣는 작업
       다양한 분석 기법을 시도해야 되기 때문에 빅 데이터 문제는 난제 중
        에 난제이다.
         샘플링 기반?
         젂체 데이터 기반?

 분석을   빠르고 원홗하게 시도할 수 있는 홖경을 제공하는 건
    분석 플랫폼의 필수 요건이다.


            Next Revolution
            Toward Open Platform           -2-
SAS understands why R


“A key benefit of R is that it provides near instant
availability of new and experimental methods created by
its user base — without waiting for the
development/release cycle of commercial software. SAS
recognizes the value of R to our customer base…”

— Michael Gilliland, Product Marketing Manager SAS Institute, Inc.




      Next Revolution
      Toward Open Platform                                           -3-
Using R




      R은 영어처럼 통계분석/대회에서 가장 일반화된 언어로 사용되고 있다.

http://www.kdnuggets.com/2011/08/poll-languages-for-data-mining-analytics.html
http://blog.revolutionanalytics.com/2011/11/r-still-the-preferred-tool-of-predictive-modelers-competing-at-kaggle.html
           Next Revolution
           Toward Open Platform                                                                                      -4-
빅 데이터 분석에서의 R의 문제점/해결책
 메모리 한계 이슈
     모든 데이터를 메모리에 로딩 후 처리하는 작업 방식
          ff, bigmemory, RevoScaleR
          GB급 데이터 처리 가능 10GB 이상 데이터는 처리 가능하나 너무 느리다는
           단점
     불필요한 데이터 저장으로 인한 메모리 부족 현상
          gc(), rm()
     32비트에서 표현 가능한 숫자만이 사용, 2^31-1
          R 2.15부터 2^51 이상의 벡터 길이 사용 가능
     No int64

                               TB급 빅 데이터
          int64 package from Google
     메모리 단편화
          64bit 머싞 사용
          더 많은 메모리
                               는 여전히 처리
Single Core 이슈
     멀티코어 CPU에서 1코어만 사용한다.
                               하기 힘듬
     R 2.14 부터 parallel 패키지 기본 탑재


     Next Revolution
     Toward Open Platform                          -5-
Motivation of RHive




                              select * from foo;




Map/Reduce   for data analysis?
    배워야 한다. 그러나 어렵다
SQL for data analysis!
    대부분 배울 필요가 없다. 그리고 쉽다.



     Next Revolution
     Toward Open Platform                          -6-
RHive

                          R을 사용한 데이터 분산 처리 가능



                                               지원
                                   
                                       

                                   
                                                     방식
                                           으로    실행
                                   
                                       




   Next Revolution
   Toward Open Platform                               -7-
RHive Analytics

                RHive 위에 구현된 대용량 분산 데이터 마이닝 시스템




    


    
    


    


    
    

        Next Revolution
        Toward Open Platform                      -8-
클라우드 데이터센터 로그 분석 – 적용 예
클라우드 시스템이 생성하는 각종 시스템 로그와 Usages 그리고 네트워크 플
로우를 분석해 시스템 운영에 필요한 모니터링 정보를 제공하는 시스템
                     RHIVE(ETL)
                                    Network               Virtual Machine             Disk Volume
                                                                                                                           최종 Output




                    RHIVE         Network Log 집계                  VM Log              Disk Volume Log
                    (Aggregate)



                                 Account Level              Account Level                Account Level
                             Network Log 집계데이터              VM 집계데이터                Disk Volume 집계데이터




                                                               고객별
                                                              특성데이터


  R(Plotting)                                      RHIVE                                                                      R(Plotting)
                                                   (Clustering)

                                                             scale된                      일별 SEG별        시갂대별 SEG별    일별 SEG별
        일별 SEG별       시갂대별 SEG별                           고객별 특성데이터                       VM 집계           VM 집계   Disk Volume 집계
       Network 집계     Network 집계



                                                            scale된 고객별                   Cluster별         Cluster       Cluster별
       Cluster별         Cluster별                              특성데이터                      VM 현황           VM 현황      Disk Volume 현황
      Network 현황       Network 현황                                           군집특성도
                                                               고객별
                                                              특성데이터

                                                                               고객별 SEG별              고객별 SEG별
                                          정기 보고서                               일별 집계데이터             시갂대별 집계데이터


  Next Revolution
  Toward Open Platform                                                                                                                  -9-
SNA with CDR – 적용 예
 SNA?
       개인 및 집단들 갂의 관계를 노드와 링크로서 모델링 하여 그
        위상구조 확산 진화 과정을 계량적으로 분석하는 방법론




                  from https://www.facebook.com/notes/facebook-engineering/visualizing-friendships/469716398919
    Next Revolution
    Toward Open Platform                                                                               -10-
Big Data Problems
                          
                              


                              

                          
                                 분석을 위한 데이터 로딩이 힘
                                  들다
                                    특징을 뽑는데 많은 시갂
                                  소요
                                   를 표현하기엔 많은 노드와
                                  링크가 있다

                              모두 Big Data 문제

   Next Revolution
   Toward Open Platform                        -11-
Solving

     데이터 로딩 문제               처리 시갂 문제                플로팅 문제

   • 데이터에 대한 이해           • 분산처리만이 답이다.        • 무엇을 보고자 하는
   • 테스트 그리고 충분           • Map/Reduce, MPI,    가?
    한 젂처리                  multicore           • 보고자하는 정보 집
                           programming          중 표현/ 필요없는 정
                                                보 제거




   vertex는 인구에 비례, edge
                                                sub-network기반 데이
    는 연락을 자주 하는 평균
         지인수에 비례                  RHive               터 표현




   Next Revolution
   Toward Open Platform                                            -12-
Group Network Tracking

    젂체 네트워크는 그룹 네트워크로 세분화 될 수 있으며 이들을 정의하고 트
           래킹하는 것은 고급 SNA 분석의 한 분야이다.

                              란
       개별 고객에 대한 분석이 아닌    기반의 네트워크 분석 방법
       그룹에 대한 집계를 기반으로 하는 것이라 개인정보에 민감한 부분들
        에 대해서 이슈가 해결될 수 있음


                              분석 과정
       각 서브 그룹 도출
       그룹 특징 분류 가족 직장동료 동호회 동창모임 등등
       그룹 프로파일 추출 및 시갂에 따른 그룹 추적 및 라이프 사이클 도출
            그룹 내에서 경쟁사의               를 자사 고객으로 만든 뒤 네트워크가
             변해가는 모습 트래킹


        Next Revolution
        Toward Open Platform                             -13-
SNA 홗용

    홗용 구분                   홗용 내용                       상세 홗용 내용
                                      • 타사 사용자 중에서 중심성 점수가 높은 사용자를 대상으로 한
                    사회성 등급으로 이용         타킷 마케팅
고객 등급
                    기졲 등급은 가치등급       • 자사 고객 중에서 중심성 점수가 높은 사용자를 대상으로 혜택
                                        부여

                    중심성 크기에 따라 해지     • 중심점이 높은 고객은 Influential Customer이므로 해지 방어 비
고객 이탈 방지            방어의 비용과 Inbound     용을 높여서 잠재적인 동반 해지(지인,가족 등 node 연결 고객)를
                    Call 우선 순위 결정       방어

                                      • 짧은 단위 시갂에 여러 Network Group으로 Outbound Call을 시
                    Fisher로 유추되는 고객
Fishing 방지                              도하는 고객 도출, 이들과 통화하는 사용자들에게 SMS 경고 메
                    Detection
                                        시지 발송
                                      • 경찰청 통화이력 조회 대상자의 Network 분석
                    경찰청 통신이력 조회 대
범죄자 SNA                               • 통화 이력뿐 아니라 Node 고객의 Demographics 정보, 통화 위
                    상자의 Network 분석
                                        치 등의 정보를 포함한 SNA 분석 및 Network 그래프 출력




                       중심성(사회성)


     Next Revolution
     Toward Open Platform                                                         -14-
Q&A




                        haven-jeon@nexr.com


 Next Revolution
 Toward Open Platform                         -15-

[빅데이터 컨퍼런스 전희원]

  • 1.
    Next Revolution Toward OpenPlatform R and RHive in Data Scientist’s toolbox NexR Data Scientist Jeon Hee-Won
  • 2.
    시작하며 – 빅데이터 분석 -  “분석”에 있어서의 “빅 데이터” 문제  데이터가 크기 때문에 일어나는 모든 일  수집과 저장 불가능  플랫폼  참을 수 없는 분석 수행 속도  분석  로딩조차 불가능한 데이터 크기  분석  “빅 데이터”에 대한 “분석”의 입장  분석은 빅 데이터라는 거대한 근육에 지능을 불어 넣는 작업  다양한 분석 기법을 시도해야 되기 때문에 빅 데이터 문제는 난제 중 에 난제이다.  샘플링 기반?  젂체 데이터 기반?  분석을 빠르고 원홗하게 시도할 수 있는 홖경을 제공하는 건 분석 플랫폼의 필수 요건이다. Next Revolution Toward Open Platform -2-
  • 3.
    SAS understands whyR “A key benefit of R is that it provides near instant availability of new and experimental methods created by its user base — without waiting for the development/release cycle of commercial software. SAS recognizes the value of R to our customer base…” — Michael Gilliland, Product Marketing Manager SAS Institute, Inc. Next Revolution Toward Open Platform -3-
  • 4.
    Using R  R은 영어처럼 통계분석/대회에서 가장 일반화된 언어로 사용되고 있다. http://www.kdnuggets.com/2011/08/poll-languages-for-data-mining-analytics.html http://blog.revolutionanalytics.com/2011/11/r-still-the-preferred-tool-of-predictive-modelers-competing-at-kaggle.html Next Revolution Toward Open Platform -4-
  • 5.
    빅 데이터 분석에서의R의 문제점/해결책  메모리 한계 이슈  모든 데이터를 메모리에 로딩 후 처리하는 작업 방식  ff, bigmemory, RevoScaleR  GB급 데이터 처리 가능 10GB 이상 데이터는 처리 가능하나 너무 느리다는 단점  불필요한 데이터 저장으로 인한 메모리 부족 현상  gc(), rm()  32비트에서 표현 가능한 숫자만이 사용, 2^31-1  R 2.15부터 2^51 이상의 벡터 길이 사용 가능  No int64 TB급 빅 데이터  int64 package from Google  메모리 단편화  64bit 머싞 사용  더 많은 메모리 는 여전히 처리 Single Core 이슈  멀티코어 CPU에서 1코어만 사용한다. 하기 힘듬  R 2.14 부터 parallel 패키지 기본 탑재 Next Revolution Toward Open Platform -5-
  • 6.
    Motivation of RHive select * from foo; Map/Reduce for data analysis?  배워야 한다. 그러나 어렵다 SQL for data analysis!  대부분 배울 필요가 없다. 그리고 쉽다. Next Revolution Toward Open Platform -6-
  • 7.
    RHive R을 사용한 데이터 분산 처리 가능  지원     방식 으로 실행   Next Revolution Toward Open Platform -7-
  • 8.
    RHive Analytics RHive 위에 구현된 대용량 분산 데이터 마이닝 시스템           Next Revolution Toward Open Platform -8-
  • 9.
    클라우드 데이터센터 로그분석 – 적용 예 클라우드 시스템이 생성하는 각종 시스템 로그와 Usages 그리고 네트워크 플 로우를 분석해 시스템 운영에 필요한 모니터링 정보를 제공하는 시스템 RHIVE(ETL) Network Virtual Machine Disk Volume 최종 Output RHIVE Network Log 집계 VM Log Disk Volume Log (Aggregate) Account Level Account Level Account Level Network Log 집계데이터 VM 집계데이터 Disk Volume 집계데이터 고객별 특성데이터 R(Plotting) RHIVE R(Plotting) (Clustering) scale된 일별 SEG별 시갂대별 SEG별 일별 SEG별 일별 SEG별 시갂대별 SEG별 고객별 특성데이터 VM 집계 VM 집계 Disk Volume 집계 Network 집계 Network 집계 scale된 고객별 Cluster별 Cluster Cluster별 Cluster별 Cluster별 특성데이터 VM 현황 VM 현황 Disk Volume 현황 Network 현황 Network 현황 군집특성도 고객별 특성데이터 고객별 SEG별 고객별 SEG별 정기 보고서 일별 집계데이터 시갂대별 집계데이터 Next Revolution Toward Open Platform -9-
  • 10.
    SNA with CDR– 적용 예  SNA?  개인 및 집단들 갂의 관계를 노드와 링크로서 모델링 하여 그 위상구조 확산 진화 과정을 계량적으로 분석하는 방법론 from https://www.facebook.com/notes/facebook-engineering/visualizing-friendships/469716398919 Next Revolution Toward Open Platform -10-
  • 11.
    Big Data Problems      분석을 위한 데이터 로딩이 힘 들다  특징을 뽑는데 많은 시갂 소요  를 표현하기엔 많은 노드와 링크가 있다 모두 Big Data 문제 Next Revolution Toward Open Platform -11-
  • 12.
    Solving 데이터 로딩 문제 처리 시갂 문제 플로팅 문제 • 데이터에 대한 이해 • 분산처리만이 답이다. • 무엇을 보고자 하는 • 테스트 그리고 충분 • Map/Reduce, MPI, 가? 한 젂처리 multicore • 보고자하는 정보 집 programming 중 표현/ 필요없는 정 보 제거 vertex는 인구에 비례, edge sub-network기반 데이 는 연락을 자주 하는 평균 지인수에 비례 RHive 터 표현 Next Revolution Toward Open Platform -12-
  • 13.
    Group Network Tracking 젂체 네트워크는 그룹 네트워크로 세분화 될 수 있으며 이들을 정의하고 트 래킹하는 것은 고급 SNA 분석의 한 분야이다.  란  개별 고객에 대한 분석이 아닌 기반의 네트워크 분석 방법  그룹에 대한 집계를 기반으로 하는 것이라 개인정보에 민감한 부분들 에 대해서 이슈가 해결될 수 있음  분석 과정  각 서브 그룹 도출  그룹 특징 분류 가족 직장동료 동호회 동창모임 등등  그룹 프로파일 추출 및 시갂에 따른 그룹 추적 및 라이프 사이클 도출  그룹 내에서 경쟁사의 를 자사 고객으로 만든 뒤 네트워크가 변해가는 모습 트래킹 Next Revolution Toward Open Platform -13-
  • 14.
    SNA 홗용 홗용 구분 홗용 내용 상세 홗용 내용 • 타사 사용자 중에서 중심성 점수가 높은 사용자를 대상으로 한 사회성 등급으로 이용 타킷 마케팅 고객 등급 기졲 등급은 가치등급 • 자사 고객 중에서 중심성 점수가 높은 사용자를 대상으로 혜택 부여 중심성 크기에 따라 해지 • 중심점이 높은 고객은 Influential Customer이므로 해지 방어 비 고객 이탈 방지 방어의 비용과 Inbound 용을 높여서 잠재적인 동반 해지(지인,가족 등 node 연결 고객)를 Call 우선 순위 결정 방어 • 짧은 단위 시갂에 여러 Network Group으로 Outbound Call을 시 Fisher로 유추되는 고객 Fishing 방지 도하는 고객 도출, 이들과 통화하는 사용자들에게 SMS 경고 메 Detection 시지 발송 • 경찰청 통화이력 조회 대상자의 Network 분석 경찰청 통신이력 조회 대 범죄자 SNA • 통화 이력뿐 아니라 Node 고객의 Demographics 정보, 통화 위 상자의 Network 분석 치 등의 정보를 포함한 SNA 분석 및 Network 그래프 출력 중심성(사회성) Next Revolution Toward Open Platform -14-
  • 15.
    Q&A haven-jeon@nexr.com Next Revolution Toward Open Platform -15-