내손으로 직접 해보는 Self Service 빅데이터 분석, End to End 빅데이터 분석 플랫폼 Pentaho

내손으로 직접 해보는 Self Service 빅데이터 분석, End to End 빅데이터 분석 플랫폼 Pentaho

국내 미디어에서 빅데이터라는 단어를 다루기 시작한 2010년 말 이후 2010년대 초반 IT업계의 가장 큰 화두는 빅데이터 분석이었습니다소위 3V(Velocity, Variety, Volume)라고 해서 급격하게 증가하는 다양한 유형의 어마어마한 양을 자랑하는 데이터를 빅데이터라고 명명했죠.

이후 DB솔루션을 제공하는 많은 기업들이 빅데이터 시대에는 데이터 분석 능력이 가장 중요하고어떻게 이제껏 접하지 못했던 어마어마한 양의 데이터를 분석해 의사결정에 반영하고 전략을 어떻게 수립할 수 있는지에 대해 역설했었던 기억이 납니다그리고 이때 주목 받았던 오픈소스가 바로 Hadoop이었고 Hadoop의 컴포넌트인 Map Reduce라는 분산처리 프레임워크가 본격적으로 알려지기 시작했습니다.


<이미지 출처 : 박지훈의 velog>


Hadoop Map Reduce덕분에 다수의 채널에 흩어져있는 방대한 양의 데이터를 HDFS(Hadoop Distributed File System, 분산형 파일 시스템)에 나누어 저장하고, 연관성 있는 데이터끼리 모은 다음(Map), 중복된 데이터를 제거하고 필터링을 거쳐 같은 종류의 데이터로 추출(Reduce)한 덕분에 비로소 빅데이터를 분석할 수 있게 되었습니다. 그런데 데이터를 모으는데에만 열중했지, 이 데이터를 어떻게 분석해서 어떤 인사이트를 얻을 수 있는지는 또 다른 영역이었습니다.


<이미지 출처 : AhnLab 보안세상 블로그>


그래서 등장한 직업군이 바로 데이터 과학자입니다. 방대한 빅데이터를 분석해 일련의 패턴을 찾고 새로운 가치를 발견해 비즈니스 아이디어를 발굴하는 데이터 과학자야말로 빅데이터 시대에 가장 각광받는 직업군이 되었지만, 많은 기업들이 데이터 과학자를 체계적으로 양성하기 보다는 기존에 사내에서 데이터를 많이 다뤄왔던 DB담당자들에게 빨리 무언가 결과물을 내놓으라고 압박하기 시작했죠. 

이제야 겨우 데이터를 한데 모을 수 있게 되었는데 경영진에서는 그렇게 힘들게 모았으니 어서 빨리 분석해서 결과물을 가져오라고 난리입니다. 그래서 당시 유행하던 빅데이터 프로젝트라는 미명하에 값비싼 솔루션들을 도입해서 뭔가 뚝딱뚝딱 해 보지만 경영진으로부터 '그거 진짜 믿을만 한거냐, 그 동안의 경험을 바탕으로 생각해보면 아닌것 같은데... 돈 낭비한거 아냐?'라는 매몰찬 반응이 돌아오는 경우가 다반사였죠.

데이터 분석결과를 바탕으로 의사결정을 내리기에는 경영진과 실무진 모두 과거의 감을 뿌리칠 정도로 확신이 있지도 않았고, 결국 분석된 결과를 믿지못하는 일도 벌어졌습니다. 게다가 당장의 가시적인 성과가 나타난 것도 아니었기에 2010년대 초반 실패한 빅데이터 프로젝트가 참 많았던 기억이 납니다. 빅데이터는 투자대비 효과가 별로라는 인식도 늘어났고요.



<이미지 출처 : Project BI, 5 business anality skills to know and master in 2020>


하지만 데이터는 계속해서 늘어났습니다. 그냥 무시하기에는 너무도 많은 데이터들이 수집되었고 비즈니스 환경은 점점 더 빠르게 변해갔습니다. 소비자의 반응을 얻기 위해 더 이상 감으로만 대처하는 것도 한계가 분명했죠. 그래서 2010년대 중반에 각광받던 것이 바로 BI, Business Intelligence 도구입니다. 소위 데이터 시각화 도구라고 불리우던 소프트웨어였죠. 

이런 소프트웨어들은 데이터 과학자가 아니더라도 데이터를 빠르고 간편하게 시각화 함으로써 데이터에 대한 지식이 많지 않아도 그 안에서 새로운 가치를 발견할 수 있도록 도와주었습니다. 그리고 점차 데이터 기반 의사결정 문화가 기업 내에 뿌리내리기 시작했습니다만, 한 가지 문제가 있었는데요. 바로 분석할 데이터의 정제 작업이 너무도 오래 걸리고 힘들다는 것이었습니다.


<이미지 출처 : omni SCI, Data Integration Definition>


데이터 분석을 위해 DB에 쌓인 데이터를 csv파일로 추출하고 BI 소프트웨어에 넣은 다음, 드래그 앤 드랍 몇 번만으로 꽤 괜찮은 대시보드를 만들 수 있다면 얼마나 좋을까요? 대부분의 BI 소프트웨어로 시각화 작업을 하기 위해서는 BI 소프트웨어가 이해하고 시각적으로 표현해 줄 수 있는 형태로 데이터를 만들어서 넣어야 했습니다. 아무 데이터나 넣는다고 BI 소프트웨어가 뚝딱 시각화해주지 않는다는 것입니다. 

그래서 저도 대표적인 BI 소프트웨어중 하나인 Tableau를 사용해 시각화하기 위해 Tableau가 시각화할 수 있는 형태로 데이터를 합치고, 빼고, 텍스트는 숫자로 바꾸고, 필요없는 문자는 제거하는 등 정제 작업에 꽤 오랜 시간을 투자했던 경험이 있습니다. 데이터 시각화 및 분석보다 데이터 정제에 더 많은 시간을 쏟고 있던것 것이죠. 어렵게 어렵게 데이터 정제를 끝내고 시각화를 통해 대시보드를 만들어 경영진에 보고하면, '그건 니 생각대로 시각화해서 분석한 결과물 아니냐, 내가 보기엔 아닌데... 그 결과대로 추진했다가 결과 안좋게 나오면 책임질 수 있어?'라고 핀잔을 들었던 아픈 기억이 떠오르네요.


<이미지 출처 : Las Vegas Sun>


모으는데에도 한 세월인 방대한 빅데이터, 분석을 위한 준비작업으로 거쳐야 할 너무도 많은 정제작업, 기껏 정제를 끝내고 분석하고 시각화해서 결과를 가져갔더니 일개 담당자의 의견을 어떻게 믿겠냐며 신뢰성에 의문을 제기하는 경영진... 빅데이터 분석과 결과를 기반으로 한 의사결정까지 가기에는 넘어야 할 산이 너무도 많습니다. 

그런데 말입니다. 이렇게 제가 길게 나열한 것들을 하나의 플랫폼에서 빠르고 쉽게 모으고 정제한 뒤 사람이 아닌 AI의 힘으로 분석할 수 있다면 어떨까요? 작업시간이 단축되는 것은 물론 철저하게 데이터만 바라보고 분석 결과를 도출해내는 AI가 있다면 실무진과 경영진 모두를 만족시킬 수 있지 않을까요? 그래서 이번 콘텐츠에서는 이 어려운 것을 해낼 수 있는 솔루션을 소개하고 제가 직접 체험한 경험을 공유하고자 합니다.


서론이 너무 길었죠? 제가 이제부터 소개해 드릴 내용의 아젠다는 아래와 같습니다.


  • 1.오픈소스 기반 End to End 빅데이터 분석 플랫폼, Pentaho란?

  • 2.Pentaho를 활용한 빅데이터 분석 체험

  • 3.빅데이터 분석, 이렇게 활용할 수 있어요


콘텐츠 후반부에 설문조사 이벤트가 있으니 꼭 확인해 주세요!


그럼 지금부터, 지난 2주동안 체험한 빅데이터 분석 플랫폼 Pentaho를 소개하겠습니다.



이 콘텐츠는 효성인포메이션시스템의 지원으로 제작되었습니다.





1. 오픈소스 기반 End to End 빅데이터 분석 플랫폼, Pentaho란?


 1) Pentaho 개요



Pentaho는 2004년 미국 올랜도에서 탄생한 JAVA기반의 오픈소스 소프트웨어로 데이터 수집, 정제, 통합, 분석, 시각화를 통한 대시보드를 만들 수 있도록 도와줍니다. 업계에서 유일하게 빅데이터를 통합하여 분석하는 전 과정을 하나의 플랫폼으로 제공하는 End to End 빅데이터 분석 플랫폼이라고 할 수 있습니다. 


<이미지 출처 : NAVER CLOUD Market Place, Pentaho>


위와 같이 빅데이터는 Hadoop 분산파일시스템에 저장하고 일반적인 데이터는 데이터 웨어하우스에 저장한 뒤 ETL을 거쳐 데이터 마트를 구축합니다. 이후 R, Weka, Python 등의 AI엔진으로 분석하고 결과를 예측해 시각화하여 방대한 데이터 속에 있는 새로운 비즈니스 가치를 빠르게 찾아낼 수 있도록 도와줍니다.

Pentaho는 2019년 기준 글로벌 하이엔드 스토리지 2위, 국내에서는 1위 기업인 Hitachi Data Systems(현 Hitachi Vantara)에 2015년에 인수되었습니다. 급증하는 IoT기기로부터 수집되는 방대한 데이터를 효과적으로 수집 및 처리하고, 이를 빠르게 분석하기 위한 역량을 강화하고 있던을 강화하고  Hitachi Data Systems Pentaho 인수를 통해 기업의 빅데이터 분석를 해결하기 위한 하드웨어(Hitachi Storage)와 소프트웨어(Pentaho)를 모두 갖추게 되었습니다.



그리고 2017년 Hitachi Data Systems와 Pentaho, 그리고 Hitachi Insight Group이 합쳐진 Hitachi Vantara가 출범했고 Hitachi Vantara 효성그룹의 공동출자회사인 효성인포메이션시스템이 Pentaho Enterprise Edition을 출시하며 국내에 Pentaho를 보급하기 시작했습니다.

Pentaho는 오픈소스 버전인 CE(Community Edition)과 EE(Enterprise Edition)으로 나뉘고요. CE는 EE와 비교해 데이터 분석 및 예측, 기업 업무용 애플리케이션 및 클라우드 데이터 저장소와의 연동 기능이 빠져있고 데이터 시각화는 가능하나 편의성이 떨어지며 기술지원이 제공되지 않는 한계가 있습니다. Linux OS를 예로 들면 CentOS, Ubuntu가 Pentaho CE이고 RHEL(Red Hat Enterprise Linux)가 Pentaho EE라고 보시면 되겠습니다. 두 버전의 보다 자세한 비교표는 여기서 확인하실 수 있습니다.


<이미지 출처 : 효성인포메이션시스템 홈페이지>


효성인포메이션시스템은 카카오게임즈, 롯데케미칼 등 국내 대기업의 빅데이터 프로젝트에 Pentaho를 성공적으로 공급했습니다. 담당자에게 들어보니 한 기업의 데이터 엔지니어는 Pentaho CE를 업무에 활용하고 있었지만 전사적으로 확대시키기에는 한계가 있었고, 오류발생 시 커뮤니티를 통해 문제를 해결하는 데에 한계가 있어 효성인포메이션시스템을 통해 Pentaho EE를 도입했다고 하더군요.

Pentaho 자체는 이미 오픈소스로 업계에서 꽤나 유명한 데이터 분석 플랫폼이었는데 오픈소스가 가진 한계를 효성인포메이션시스템의 도움으로 극복하여 기업에 성공적으로 안착시킨 케이스라고 보시면 되겠습니다. Red Hat의 비즈니스와 유사하죠?



Pentaho 분석 플랫폼은 크게 데이터 통합 영역과 분석 영역으로 나뉩니다. 데이터 통합은 PDI(Pentaho Data Integration)에서 담당하고, PDI를 통해 수집하고 정제한 데이터를 Pentaho Analysis가 AI로 분석 및 예측한 뒤 그 결과를 시각화하고요. 데이터 통합과 분석을 하나의 플랫폼으로 제공하는 것은 업계에서 Pentaho가 유일합니다. 그럼 이제 Pentaho를 활용해 무엇을 분석할 수 있는지 알아보겠습니다.





 2) Pentaho를 활용한 Machine Learning 분석



Pentaho의 분석 프로세스는 크게 위와 같이 6개로 나눌 수 있습니다. 데이터를 수집하고 탐색한 뒤 정제한 다음 Machine Learning을 활용해 분석하고 시각화해서 새로운 인사이트를 도출해내기까지의 전 과정을 Pentaho 플랫폼 안에서 모두 진행할 수 있는 것이 가장 큰 특징입니다.

기존에는 이러한 작업들을 하기 위해서는 각 단계별로 데이터 엔지니어, 데이터 분석가, 데이터 과학자, 비즈니스 분석가의 역할이 필요했지만 Pentaho 하나로 한명이 이 모든 작업을 수행할 수도 있게 된 것입니다. 그래서 Pentaho는 데이터 과학자들뿐만 아니라 실제 비즈니스를 진행하는 실무 부서에서도 많이 활용한다고 합니다.


No

Domain

Pentaho Analytics Application

Request (e.g.)

1

제조/IoT

예지정비

- 설비 고장 시점 예측 및 원인 분석

2

제조/IoT

품질예측분석

- 불량원인분석 및 품질 예측

3

제조/IoT

이상치 탐지

- 제조공정의 이상 징후 감지

4

제조/eCommerce

수요예측

- 원자재수요 및 판매량 예측

5

마케팅/eCommerce

마케팅데이터분석

- 고객 이탈 예측 및 세분화

6

마케팅/물류

이미지분석(딥러닝)

- 이미지분석기반 물류최적화

7

컨텐츠

텍스트분석(NLP)

- NLP기반 문서분석 및 분류

8

금융

부도예측

- 사기적발 및 고객 신용도측정

9

금융

금융시계열예측

- 리스크지표(부도율/연체율) 예측

10

금융

불량거래탐지

- 카드사기 및 온라인불량거래 탐지

11

부동산

부동산가격예측

- 머신러닝기반 부동산 Pricing

12

헬스케어

헬스데이터분석

- 질병(비만/당뇨병)예측


그래도 어쨌든 Machine Learning을 활용한 데이터 분석은 만만한 작업이 아닙니다. 데이터를 나름 깊이 있게 다뤄본 사람이 아니면 Pentaho를 처음 맞닥뜨렸을 때 너무도 많은 선택지로 인해 멘붕이 올 수도 있거든요. 그래서 효성인포메이션시스템에서는 산업분야별로 쉽게 활용할 수 있는 12개의 Pentaho 분석 템플릿을 제공합니다.

기준이 되는 템플릿이 있기 때문에 일단 가지고 있는 데이터를 템플릿에 넣어서 분석을 돌려보고, 오류가 나는 부분을 찾아가 적절히 수정하면 되기 때문에 빠른 시작이 가능한 장점이 있습니다. Pentaho에 대한 소개는 이정도로 마치고, 이제 본격적으로 Pentaho를 활용한 데이터 분석 체험기를 공유하겠습니다. 저는 효성인포메이션시스템의 Pentaho 담당자로부터 하루 동안 Hands On Lab 교육을 받고 2주간 사용했고요. 제가 체험한 Pentaho의 특징과 어느 분야에 어떻게 활용하면 좋을지 정리해 보겠습니다.





2. Pentaho를 활용한 빅데이터 분석 체험


 1) Pentaho Data Integration을 위한 클라이언트, Spoon



Pentaho Data Integration은 Spoon이라는 클라이언트를 통해 실행됩니다. Spoon에서 분석할 데이터를 가져오고, 정제하고, 데이터셋을 구성하고, 분석모델을 만들어 AI를 학습시키고, 학습된 모델을 활용해 예측하고, 예측된 결과를 살펴보는 전체 과정을 이 Spoon에서 진행한다고 보시면 됩니다. 

앞서 효성인포메이션시스템에서 기업들이 Pentaho를 보다 쉽게 활용할 수 있도록 12가지의 산업별 분석 템플릿을 만들어 제공한다고 말씀드렸죠? 저는 그 템플릿 중 하나인 이커머스, 마케팅 분석용 템플릿을 활용했고요. 데이터는 미국 모 통신사의 데이터로, Churn 즉 어느 고객이 이탈할 것인가를 예측하는 분석과정을 체험했습니다. 그럼 지금부터 Spoon을  활용해 어떻게 분석을 할 수 있는지 자세히 살펴보겠습니다.






 2) Pentaho Spoon을 활용한 빅데이터 분석 체험


  • 고객 이탈 예측 데이터 분석 Flow



Pentaho Spoon을 활용한 데이터 분석의 전체 흐름은 위와 같습니다. 각 단계별로 Pentaho에서 담당하는 업무를 보실 수 있고요. 데이터 수집의 경우 프라이빗 클라우드 환경이라면 HCP(Hitachi Content Platform)을 통해 정형, 비정형, 반정형 데이터를 수집하고 이후 데이터 중복 또는 데이터3법에 따라 민감정보 데이터를 파악하여 finger print ML을 통해 오토 태깅을 해주는 LDC(Lumada Data Catalog)가 담당하게 됩니다.

다만 제가 체험한 고객 이탈 예측 데이터 분석은 샘플 데이터를 활용하기 때문에 1,2단계는 건너뛰고 3단계부터 진행된다고 보시면 됩니다. 실제 데이터 분석 흐름에 있어 1단계와 2단계가 차지하는 비중도 꽤나 높은데, 이 부분은 따로 다뤄야 할 정도로 양이 방대한 관계로, 이번 콘텐츠에서는 생략하겠습니다.

이후 데이터 전처리를 거쳐 AI학습모델을 만들고, AI를 활용해 분석 및 예측을 수행한 뒤 결과를 검증하고 백업하는 것으로 전체 과정이 진행됩니다. 그럼 이제 Pentaho 클라이언트인 Spoon을 활용한 체험 과정을 보여드릴게요.






  • Pentaho Spoon UI/UX 소개 : GUI 기반 분석 도구와 Job/Transformation 작동박식



Spoon의 UI는 한글화되어 있고요. 크게 두 가지 영역으로 구분할 수 있습니다. 왼쪽이 탐색창 영역으로 데이터 분석을 위한 다양한 모듈들이 제공되며 여기서 필요한 모듈을 찾아보고 선택할 수 있습니다. 오른쪽은 캔버스 영역으로 왼쪽에서 선택한 작업모듈을 가져다 놓고 어떤 프로세스로 동작시킬 것인지 그리는 영역입니다.

즉, 왼쪽에서 모듈을 선택해 오른쪽으로 가져오고 선을 연결해 주는 것이 끝입니다. 간단하죠? 물론 실제 실행을 위해서는 몇 가지 설정이 더 필요하긴 한데, 일단 GUI 기반이라서 크게 어렵게 느껴지지는 않습니다. 그럼 각 영역별로 좀 더 자세히 살펴보겠습니다.





  • 탐색창 영역(작업모듈)



왼쪽의 탐색창 영역에서는 분석작업을 위한 다양한 모듈을 보실 수 있는데요. 뷰 탭은 DB 연결 및 관련된 모듈전체 프로세스의 정보를 제공하고, 디자인 탭은 각각의 프로세스 안에서 수행할 수 있는 일들을 모듈별로 리스트를 제공합니다.

뷰 탭을 통해 DB 연결 관련 및 전체 프로세스 정보를 파악할 수 있고각 프로세스 별로 수행하는 세부적인 일을 디자인 탭의 모듈로 만든다고 보시면 됩니다그래서 위 이미지 우측과 같이 디자인탭은 모듈별로 할 수 있는 일들의 리스트를 보여 주고요.그 갯수가 수십개이며 각각 독립적으로 동작하기 때문에 이 할일들을 어떻게 조합하느냐가 관건이라고 할 수 있습니다.



작업할 수 있는 모듈의 선택지가 너무도 다양하기 때문에 처음에 Spoon을 접하면 뭐부터 시작해야 할 지 난감할 수 밖에 없습니다. 그래서 효성인포메이션시스템은 템플릿을 만들어 둔 것이고, 위의 템플릿이 이탈고객 예측을 위한 템플릿입니다. 어떤 고객이 이탈할 것으로 예측되는지 알기 위한 전체 프로세스들을 컨트롤하기 위해 하나의 워크플로우로 구현한 것을 Job라고 보시면 됩니다. 이 프로세스들은 Transformation라고 부릅니다.

가장 위에있는 'Churn_Total'이 템플릿의 프로세스들을 모아둔 Job 탭이고, 우측에 나열된 'Chrun-Raw', 'Churn-EDA', 'Churn-PP'등은 각각의 프로세스를 수행하는 Transformation들의 탭입니다. 'Chrun_Total' Job 탭에서 각 Transformation을 클릭하면 아래와 같이 세부 속성창이 나타납니다.



Transformation의 이름을 비롯한 다양한 값을 수정할 수 있습니다만 딱히 건드릴 것은 없습니다. Transformation를 새로 만들면 채워지는 기본값이고요. 이 Transformation을 어떻게 만드는지 보여드릴게요.



탐색창 영역에서 파일 -> 새로 만들기 -> Transformation을 선택하거나 새로 만들기 아이콘을 클릭해 Transformation을 선택하면 우측과 같이 캔버스 영역 상단에 Transformation 1이라는 탭이 생성됩니다. 그리고 아래의 캔버스 영역을 보면 Drag & Drop a Step이라는 문구와 아이콘을 보실 수 있는데요. 탐색창 영역의 디자인 탭에 있는 모듈을 드래그 앤 드랍으로 캔버스 영역에 배치하는 형태입니다.



가장 기초적인 프로세스를 하나 만들어 보겠습니다. 실제 템플릿에서도 적용되어 있는 첫 번째 프로세스인 데이터 가져오기 프로세스입니다. 위와 같이 탐색창 영역의 디자인 탭을 누르면 다양한 모듈에 나타나고요. 여기서 Input 모듈을 클릭하면 가져올 수 있는 데이터 유형들이 나타납니다. Output 모듈을 선택하면 마찬가지로 내보낼 수 있는 유형들이 나타나고요. 데이터를 가져와서 어떤 형태로 보여줄 것인가에 대한 프로세스라고 보시면 됩니다.



Input 모듈에서 CSV file input을, Output 모듈에서 Table output을 드래그해 캔버스 영역으로 가져왔습니다. 이후 CSV file input을 클릭하고 Shift키를 누른 상태에서 Table output으로 마우스를 가져가면 위와 같이 화살표가 나타납니다. 이 화살표를 Hop이라고 부르고요. 작업이 진행되는 방향, 순서로 이해하시면 됩니다. 위 프로세스는 CSV 파일을 넣고 그 파일을 Table형태로 DB에 저장하는 프로세스입니다. 



Output 모듈에는 결과를 출력할 수 있는 일들의 리스트가 있습니다이 리스트에 있는 각각의 선택지를 Step이라고 부릅니다. 위와 같이 하나의 JSON, Excel, Text 등으로 저장할 수도 있고 바로 SQL DB나 AWS 저장소인 S3, CRM 서비스인 Salesforce.com으로도 보낼 수 있습니다. 물론 반대로 이러한 소스로부터 데이터를 바로 가져올 수도 있고요.

각각의 Step은 Hop으로 연결하면 되는데, 이 Hop을 동시에 여러 개의 Step으로 연결해서 데이터를 보낼 수도 있고 필요하지 않는 Hop은 한번 더 클릭하여 비활성화 시킬 수 있습니다. 위 이미지의 Hop이 총 3개인데 진한 파란색이 활성화된 Hop이고 회색이 비활성화된 Hop입니다. 당연히 데이터는 활성화된 Hop을 따라 이동합니다.



CSV file input Step을 클릭하면 파일을 추가할 수 있는 창이 나옵니다. 적당한 CSV파일을 골라 추가하고요.



추가한 다음 '필드 가져오기'와 미리보기를 사용해 CSV파일에 어떤 데이터들이 있는지 미리 볼 수 있습니다. 우측과 같이 CSV파일에 저장된 데이터는 모두 하나의 컬럼에 21개의 값이 합쳐져 있습니다. 이 상태면 분석을 할 수 없겠죠. 이 데이터 같은 경우는 구분자 항목에 데이터의 구분자를 “ ;” 로 변경만 하면 간단하게 데이터를 가져올 수 있습니다



Transformation을 저장하면 위와 같이 ktr(Kettle transformations)라는 확장자로 저장됩니다. 여기까지가 Transformation 을 생성하는 과정이고요. Transformation 어떤식으로 동작하는지 확인했으니 다시 템플릿 화면으로 돌아가봅시다.






  • 탐색적 데이터 분석



이탈고객 분석을 위한 전체 프로세스가 구현되어 있는 Job을 다시 한번 가져왔습니다. 데이터를 분석하기 전에 먼저 백업을 통해 기존 모델을 백업해 둔 다음, 데이터를 분석하여 새로운 모델을 생성합니다. 모델을 백업해 두지 않으면 새로운 모델의 예측 결과가 좋지 않거나 기존의 모델과 비교하고 싶을 때 과거 모델을 가져올 수 없을 테니까요. 템플릿에서는 백업 Transformation을 처음에 넣었지만, 예측까지 끝난 가장 마지막 단계에 넣어도 무방합니다.

데이터 수집 Transformation의 경우 앞서 보셨던 것처럼 CSV file input -> Table output이라서 생략하고요. 탐색적 데이터 분석(Chrun_EDA)부터 보여드리겠습니다.



EDA(Exploratory Data Analysis), 탐색적 데이터 분석은 수집한 데이터를 분석하기 전에 다양한 각도로 관찰하고 이해하는 작업을 뜻합니다. 파일 안에 들어있는 데이터들이 어떤 유형인지, 어떤 패턴이 있고 이상한 값은 없는지 알아내기 위해서 통계기법을 활용하고요. 이 Transformation에서는 통계용 프로그래밍언어중 하나인 R을 사용합니다.

그래서 위와 같이 데이터 수집 단계에서 CSV file input -> Table output의 결과를 가져다가 다시 Table input으로 넣고, 이  데이터를 R을 통해 관찰하는 것이고요. R을 통해 얻어진 결과들을 Table에 저장하는 프로세스입니다.



Spoon에서 제공하는 R 실행 Step입니다. 위와 같이 rows부터 memory_usage까지 9개의 값을 제공하고요. 이 과정을 통해 원본 데이터가 몇개의 컬럼과 몇개의 열로 구성되어 있는지,  이산값과 결측값이 있는 컬럼은 몇개인지, 그래서 필요 없는 컬럼과 값은 무엇인지 찾아낼 수 있습니다. 데이터를 분석하기 전에 통계적 기법을 사용해 데이터 정합성을 높이는 작업 중 하나라고 보시면 됩니다.


Transformation마다 실행버튼을 클릭해 제대로 작동하는지 테스트할 수 있고, 잘 작동된다면 위와 같이 Preview data를 통해 결과값을 미리 볼 수 있습니다. 제가 분석하려는 원본 데이터는 7,043개의 열과 21개의 컬럼으로 이루어져있고 연속적이지 않은 컬럼이 18개, 연속적인 컬럼이 3개이며 결측값이 없어 7,043개 그대로 분석에 활용할 수 있다는 것을 알 수 있습니다.





  • 전처리



이번에는 분석할 데이터를 정제하는 전처리에 대한 엔트리를 보여드리겠습니다. 원본 데이터인 Churn-Raw Transformation에서 Input으로 가져온 CSV파일은 1개의 컬럼에 21개의 값이 합쳐져 있는 상태인 것을 보셨는데요. 이 단계를 거치면 합쳐진 값에서 특정 문자열은 바꾸고(이 단계에서 민감데이터는 마스킹처리를 할 수도 있습니다.), 숫자로 된 값을 미리 정해둔 범위에 따라 새로운 값으로 치환하고, If함수를 적용해 분석에 사용할 추가 필드를 생성합니다. 그리고 그 결과를 모아서 Table 형태로 출력하고요.



앞서 언급한 Step을 더블클릭하면 위와 같이 세부 내용을 볼 수 있습니다. 그리고 번호 순서대로 실행이 되고요. 그 결과는 아래와 같습니다.



캔버스 영역 상단에 있는 플레이 버튼을 누르면 각각의 Step들이 실행되고, 이상이 없을 경우 Step 아이콘 우측 상단에 v표시가 생깁니다.(문제가 있으면 x표시가 나타나고 그 단계에서 프로세스는 멈춥니다.) 오류없이 실행이 되면 캔버스 영역 하단에 위와 같이 실행 결과가 나타나며, Preview data 탭을 누르면 결과값을 미리 볼 수 있습니다. 하지만 공간이 좁아 모든 데이터를 한눈에 보기 어렵죠? 그때는 실행 결과 우측 상단에 있는 Inspect Data 버튼을 클릭하면 됩니다.



Inspect Data 버튼을 클릭하면 위와 같이 결과를 상세히 뜯어볼 수 있는 화면으로 전환됩니다. 빨간색 네모박스처럼 기본은 테이블뷰이지만 피벗 테이블 및 다양한 차트로 바꿀 수 있고요. 뷰를 변경한 다음 필터에 보고자 하는 필드를 넣어주면 됩니다. 아까 처음에 보셨던 원본 CSV파일과 비교해보면 제법 분석해도 될 만큼 정제된 형태로 바뀐 것을 보실 수 있습니다.





  • 데이터셋 구성



전처리 작업까지 끝냈으니 이제 본격적으로 분석을 해 봅시다. 그런데 데이터 분석을 많이 해 보신 분들은 아시겠지만, 분석을 실행하는 사람의 주관이 개입될 수 밖에 없기 때문에 같은 데이터를 분석하더라도 서로 다른 결과가 나올 수 있습니다. 때문에 분석결과에 대한 신뢰성이 문제가 생기는 것이기도 하고요.

그래서 Pentaho는 사람이 아닌 AI에게 분석을 시킵니다. AI가 분석을 하기 위해서는 AI를 학습시켜야 하는데요. 그래서 위와 같이 데이터셋 구성이라는 Transformation을 통해 AI가 학습할 train 데이터와 학습이 잘 되었는지 예측결과를 비교할 test 데이터로 나눕니다.  앞 단계에서 정제된 데이터를 가져와 R을 실행해 train 데이터와 test 데이터로 분류해 각각 저장합니다.



데이터셋 Transformation 실행 결과는 위와 같고요. Table output_train 스텝을 클릭하면 전처리 Transformation의 결과 데이터와 달리 가장 우측에 datasettype에 train이라는 값이 입력되어 있는 것을 보실 수 있습니다. 이제 이 데이터셋을 토대로 AI에게 학습시켜 분석모델을 만들 차례입니다.






  • 모델링



이전 단계에서 만들어진 데이터셋을 가져와 위와 같이 복잡한 단계를 거쳐 학습하는 분석모델을 제가 아닌 효성인포메이션시스템에서 만들어서 제공합니다. 데이터 과학자라면 직접 만들어볼 수 있겠지만, 저같은 초보자는 이렇게 미리 만들어진 템플릿을 활용하기만 하면 그럴싸한 Machine Learning 모델을 만들어낼 수 있습니다.

Pentaho는 PMI(Plugin Machine Intelligence)라고 하는 AI학습모델을 제공하는데요. 여기에 사용된 알고리즘은 Python 기반의 Scikit-Learning을 사용한 XGBoost, Random Forest, Weka를 사용한 Random Forest, Java기반의 딥러닝 프레임워크(DL4J)를 사용한 Deeplearning4j등이 있습니다. 이 알고리즘들을 사용한 Step과 R을 사용한 AutoML이라는 Step의 결과가 Table에 입력되는 프로세스입니다. 결과를 볼까요?



AI학습 단계이다 보니 다른 Transformation 대비 꽤 오랜시간이 걸렸는데요. 실행 결과를 AUC(Area Under the Curve)라는 필드에 값이 소수점으로 기록되어 있습니다. AUC가 무엇인지 설명하려면 Machine Learning 기초 개념을 먼저 짚어봐야 하는데 제가 설명드릴 능력이 부족한 관계로 넘어가고요. AUC 값이 1에 가까울수록 높은 성능의 AI모델이며 예측된 결과의 신뢰도가 올라간다고 보시면 됩니다. 이제 학습시킨 AI모델로 예측해 보겠습니다.






  • 예측



예측 Transformation에서는 이전 단계에서 학습시켰던 AI모델들을 모두 가지고 결과를 예측하며, 그 예측된 결과가 AI모델별로 어떤 차이가 있는지, 어떤 결과를 믿어야 하는지 알기 위한 과정이라고 보시면 되고요. 이러한 설계는 데이터 과학자가 아니라면 엄두도 내기 어려울텐데, 다행히 미리 만들어진 템플릿이 있어 쉽게 체험해 볼 수 있습니다.

다양한 Step들이 다수의 Hop으로 연결되어 있지만 간단히 정리하면 미리 학습시킨 AI모델들의 예측한 결과를 하나로 합쳐서 그 결과값을 테이블 형태로 보여주는 것입니다. 전체 Step이 실행되는 시간은 Intel 8세대 i7 CPU에 16GB 메모리가 탑재된 노트북 기분 1분 정도면 충분합니다. 보다 사양이 좋은 PC나 고성능 서버라면 금방 결과를 확인할 수 있겠죠?



예측된 결과를 실제 결과와 비교해서 그려본 차트입니다. No-No, No-Yes, Yes-No, Yes-Yes 총 4개 그룹으로 분류할 수 있는데 빨간색 네모박스로 표시한 No-Yes, Yes-No가 실제 결과와 예측된 결과가 일치하지 않는 부분입니다. 단, 위 결과는 하나의 AI모델(XGBoost)를 실제 결과와 비교한 차트이고요. 다른 AI모델들은 어떻게 예측했는지 볼까요?



결과의 일부만 테이블뷰로 표현한 것입니다. 가장 왼쪽의 Churn이 실제 결과이고 우측의 4개 AI모델들의 예측 결과가 있습니다. 이렇게 AI모델별로 예측 결과가 실제 결과와 다른데, 가장 예측 정확도가 높은 AI모델을 활용하기 보다는 다양한 모델들의 결과를 종합해서 실제 어느 고객이 이탈할 것인지 예측하는 것이 더 좋지 않을까 생각됩니다. 1개의 AI모델이 이탈할 것이라고 예측한 고객보다 4개의 AI모델 모두가 이탈할 것이라고 예측한 고객이 실제로 이탈할 확률이 높은 것일테니까요.





  • 변수 중요도



모델을 생성할 때 모델에 어떤 변수가 영향을 끼쳤는지 데이터 과학자들과 현업들은 알고 싶어합니다그래서 변수 중요도를 살펴볼 필요가 있습니다.



위 표에서 빨간 네모박스로 표시한 Scales importance가 총 18개의 변수 중 AI 모델 생성에 영향을 많이 준 변수의 값을 나타냅니다. 1에 가까울수록 높은 영향을 끼친 변수이고요. monthlycharges(월별 지불요금), contact(계약형태), tenure_group(계약기간) 3가지 변수의 점수가 높습니다. 0.5이하는 무시해도 될 수준이라고 보시면 됩니다.



'Churn_Total' 템플릿에 나중에 추가된 프로세스가 있는데 이것은 바로 머신러닝의 예측 결과를 설명할 수 있는 explainML입니다이는 Python 실행 step을 통해 예측한 값 별로 영향을 끼친 변수의 영향도를 위와 같이 출력함으로써 데이터 과학자들에게 예측 결과를 설명할 수 있게 되었습니다.



그리고 Spoon으로 분석한 결과는 위와 같이 대시보드 형태로 표현할 수 있습니다. 예측에 활용된 AI모델들의 성능이 어느 정도이고 실제 결과와 비교해 예측한 결과는 어떤지(우측 상단의 빨간색으로 표시된 부분이 실제 결과가 다른 예측을 한 결과값), 모델 생성에 영향을 끼친 변수들은 무엇인지 대시보드 형태로 보여주고 이를 공유할 수 있습니다.

마케팅부서에서는 이 결과를 바탕으로 아직 이탈이 발생하지 않은 데이터를 내려 받아 다시 AI모델을 통해 예측함으로써 어느 고객이 이탈할 것인지 분류할 수 있습니다. 거기에 이탈에 지대한 영향을 끼치는 변수가 무엇인지 알게 됨으로써 어떤 마케팅 프로모션을 기획해 누구에게 집중적으로 홍보해야 하는지 마케팅 계획을 수립할 수 있겠죠.





3. Pentaho, 어떻게 활용해야 할까?


  •  Pentaho 빅데이터 분석 플랫폼 활용 분야



지금까지 Pentaho Spoon을 활용해 효성인포메이션시스템에서 만든 템플릿을 활용한 고객 이탈 예측 과정을 소개해 드렸습니다. 12개의 분석 템플릿 중 제가 체험한 모델이 가장 난이도가 쉬운편이라고 하는데, 솔직히 처음부터 각 단계별 Transformation을 만들어서 해보라고 한다면, 중간에 포기했을 정도로 그렇게 쉬운 편은 아니긴 합니다.

어쨌든 다행스럽게도 효성인포메이션시스템에서 미리 만들어둔 12개의 템플릿 덕분에 제조, 마케팅, 금융, 부동산, 헬스케어 업종에 종사하는 데이터 분석가, 마케팅 실무자, 전략기획 담당자라면 AI모델링을 할 수 있는 극소수의 전문가 집단인 데이터 과학자가 없더라도 신뢰도 높은 예측 결과를 얻을 수 있습니다.



특히 제조업의 경우 스마트팩토리의 확산으로 IT뿐만 아니라 OT분야까지 다수의 기계로부터 정말 많은 데이터가 수집되고 있고, 이 데이터들을 분석해 예지정비에 활용할 수 있는 솔루션이 많이 출시되고 있습니다. 하지만 산업현장에서 수십년동안 직접 기계를 손으로 만지고 분해하고 조립하며 정비해 온 베테랑 전문가들은 일개 소프트웨어가 예측한 결과를 신뢰하지 않은 경우가 많기 때문에 빅데이터 분석을 통한 예지정보 솔루션들의 보급이 더딘 것이 사실입니다.

때문에 앞서 보여드렸던 것처럼, 솔루션이 어떤 모델로 결과를 예측했고, 그 결과에 영향을 끼친 변수들은 무엇이며, 그 변수의 값은 이렇게 통계학적으로 신뢰할 수 있는 수준이다라는 것을 명확하게 보여줄 수 있는 것이 산업현장에서 예지정비 솔루션들이 갖춰야 할 기본적인 덕목일 것입니다. 그리고 Pentaho는 그것을 실현할 수 있다는 것은 앞에서 충분히 보여드렸고요.





  • 데이터 기반 의사결정을 위한 DataOps시대에 적합한 End to End 분석 플랫폼 Pentaho



21세기 원유라고 일컬어지는 데이터에 대한 중요성을 과소평가하는 사람은 이제 거의 없을 것입니다. 하지만 그에 반해 데이터를 제대로 다룰 수 있는 사람은 너무도 적죠. 빠르게 변화하는 비즈니스 환경에 대응하기 위해 애플리케이션 개발 속도를 향상시키기 위한 DevOps가 보편화되었지만 그 애플리케이션에서 수집되는 다수의 데이터를 분석할 만한 전문가가 매우 부족한 것이 현실입니다.

경영진은 이제 감으로 의사결정을 내리는 데에 한계에 다다른 나머지 IT부서에 데이터를 분석해 오라고 닦달하지만, 데이터 관련 전문가가 부족한 상태에서는 데이터를 수집하는 것도 큰일이요 그 데이터를 분석하기 전에 정제하다가 뻗어버릴지도 모릅니다. 하물며 분석한다 한들, 그 결과를 경영진이 믿어줄지도 의문이고요.

데이터 기반의 의사결정을 위해서는 데이터를 수집하고 정제하고 분석 및 예측하는 단계를 일원화시킬 필요가 있습니다. 각각의 분야 별로 서로 다른 부서에 의존한다면 진행 속도가 더딜 수 밖에 없을테니까요. Pentaho를 활용하면 데이터 수집부터 정제와 분석까지 하나의 플랫폼에서 해결할 수 있기 때문에 DataOps 시대에 적합한 플랫폼이라고 할 수 있습니다.



데이터 분석가의 능력에 의존하지 않고, 직접 수집한 데이터를 기반으로 AI모델을 지속적으로 학습시켜 분석과 예측에 활용할 수 있다면 데이터 기반 의사결정도 더 이상 꿈같은 이야기는 아닐 것입니다. AI의 예측 정확도는 학습량이 많으면 많을수록 올라가기 때문에 Pentaho 플랫폼을 활용해 데이터가 수집되고 AI모델이 학습한 뒤 예측하고, 다시 데이터가 쌓이고 학습하고 예측하는 과정이 반복된다면, 그리고 이 프로세스를 자동화할 수 있다면 진정한 데이터 기반 의사결정도 더 이상 뜬구름 잡는 이야기는 아닐 것입니다.

실제로 효성인포메이션시스템에서 성공적으로 수행한 한 대형 게임사의 담당자는, 매일 정해진 시간에 배치작업을 통해 수집된 데이터가 AI분석모델을 거쳐 대시보드로 딱 표현되니, 출근해서 대시보드만 보면 어제 고객들이 얼마나 늘었고, 어느 유형의 고객들이 이탈될 조짐이 보이고, 어떤 조치를 취해야 하는지 빠르게 의사결정을 내릴 수 있게 되었다고 합니다.


<이미지 출처 : Import.io, Data Analysys>


범람하는 데이터 안에서 새로운 인사이트를 도출해 내는 작업은 여간 어려운 것이 아닙니다. 그런데 비즈니스 환경이 날로 변화해 가는 요즈음, 어렵다고 해서 더 이상 미룰 수 만은 없는 과제이기도 합니다. 이중에 나와있는 다양한 빅데이터 분석 솔루션들은 각각 담당하는 영역이 구분되어 있어 처음부터 끝까지 전체적인 과정을 설계하고 관장해 줄 전문가 집단이 있어야 빅데이터 프로젝트를 성공적으로 완수할 수 있을 것입니다.

이번에 소개해 드린 Pentaho는 업계에서 유일하게 데이터 통합 및 분석이 하나의 플랫폼으로 제공되는 빅데이터 분석을 위한 End to End 솔루션입니다. 십수년동안 오픈소스로써 그 성능은 검증을 받아왔고, 기업 환경에 안정적으로 구축하고 활용하기 위한 노하우를 효성인포메이션시스템에서 12개의 템플릿을 통해 제공하고 있고요.

빅데이터까지는 아니더라도, 막연히 데이터속에서 새로운 가치를 찾기 위해 어디서부터 무엇을 준비해야 할 지 막막하신 분들은 Pentaho Community Edition을 체험해 보시기 바랍니다. 그리고 본격적으로 기업내 쌓이는 데이터를 분석하실 분들이라면 효성인포메이션시스템에서 제공하는 Pentaho Enterprise Edition을 검토하시면 좋을 것 같습니다.






Pentaho Enterprise Edition에 대한 보다 자세한 정보는 아래 링크에서 확인하실 수 있습니다.



솔루션 도입 문의는 아래 홈페이지에서 '문의하기'버튼을 클릭하시면 되며 여기를 눌러 바로 요청하실 수도 있습니다.









더불어 위와 같이 설문조사 이벤트도 진행하고 있습니다. 위 이미지를 클릭하시거나 아래 링크를 통해 참여하실 수 있으니 많은 관심 부탁드립니다.



설문조사 이벤트는 9월8일부로 종료되었습니다.






그럼 이것으로 '내손으로 직접 해보는 Self Service 빅데이터 분석, End to End 빅데이터 분석 플랫폼 Pentaho' 편을 마치겠습니다. 끝!


12개의 댓글이 있습니다.

2달 전

좋은 정보, 잘 읽었습니다.

Reply

2달 전 | 쉐어드아이티 | 031-212-1710

넵, 도움이 되셨기를 바랍니다.

Reply

댓글 남기기

댓글을 남기기 위해서는 로그인이 필요합니다.

로그인 회원가입

3달 전

예전 AWS 빅데이터 세미나에서
헬스데이터 분석을 통해 질병예측을 IOT 결합으로 비대면으로도
알려주는 시스템을 간접 경험을 했는데요
위 내용은 좀 더 전문적인 내용을 참고할수 있게 작성 되었네요
항상 감사합니다.

Reply

3달 전 | 쉐어드아이티 | 031-212-1710

헬스데이터를 IoT로 모으고 빅데이터를 분석하는 시스템이라면 데이터 수집부터 정제단계까지 AWS를 통해 구축했고, 그 결과를 별도의 대시보드로 보여주는 형태의 내용이었을 것 같네요. Pentaho도 말씀하신 형태의 시스템을 구현할 수 있습니다. 셀프서비스가 가능하기 때문에 시스템 구현 난이도는 Pentaho쪽이 더 낮지 않을까 싶네요.
봐주셔서 감사합니다. 설문조사 이벤트도 참여해 주세요!

Reply

댓글 남기기

댓글을 남기기 위해서는 로그인이 필요합니다.

로그인 회원가입

3달 전

좋은 내용 알려주셔서 감사합니다~. 요즘 개인적으로 PowerBI를 써보고 있는데 어떻게 다른건지 아직은 잘 모르겠군요.
좀더 찬찬히 들여다 보겠습니다.

Reply

3달 전 | 쉐어드아이티 | 031-212-1710

PowerBI는 시각화에 초점이 맞춰진 도구라 Pentaho보다는 다루기 쉬울거에요. 그래도 Pentaho를 경험하시면 시각화 이전 단계에서 데이터를 어떻게 모으고 정제해야 하는지 익히실 수 있을겁니다. 그럼 PowerBI같은 시각화를 더 정교하게 하실 수 있을거에요. :)

설문조사 이벤트도 참여 부탁 드립니다!

Reply

댓글 남기기

댓글을 남기기 위해서는 로그인이 필요합니다.

로그인 회원가입

3달 전

좋은정보 올려주셔서 감사드립니다.

Reply

3달 전 | 쉐어드아이티 | 031-212-1710

평소에 데이터 분석에 관심이 있으셨다면 한번 활용해 보세요. 도움이 되셨기를!

Reply

댓글 남기기

댓글을 남기기 위해서는 로그인이 필요합니다.

로그인 회원가입

3달 전

오십까지 월급받으려면 데이터좀 만질줄 알아야되는 상황인데 ㅎ
이렇게 저한테 큰 도움된는 글 감사합니다.

Reply

3달 전 | 쉐어드아이티 | 031-212-1710

데이터 과학자 연봉이 어마어마하다더군요. 데이터 분석가는 앞으로 업종 불문 매우 중요한 직군이 되지 않을까 싶습니다. 도움이 되셨기를 바랍니다.

Reply

댓글 남기기

댓글을 남기기 위해서는 로그인이 필요합니다.

로그인 회원가입

3달 전

좋은 정보 감사드립니다.

Reply

3달 전 | 쉐어드아이티 | 031-212-1710

네, 도움이 되셨기를 :)

Reply

댓글 남기기

댓글을 남기기 위해서는 로그인이 필요합니다.

로그인 회원가입

댓글 남기기

댓글을 남기기 위해서는 로그인이 필요합니다.

로그인 회원가입