반응형

데이터 분석 방법론 (2) - 예시포함 (CRISP-DM)

데이터 분석 방법론에 대한 개요와 자료는 많이 쉽게 찾을 수 있는데 실질적인 사례나 예시에 해당하는 내용은 접하기 어려운 것이 현실인 것 같습니다.
그도 그럴 것이 일반적으로 학교에서 분석을 한다고하면 R이나 Spss, SAS 등의 툴을 가지고 리포트를 작성하는 내용 정도가 공유될 수 있을 것 같은데 이것은 실제 산업 현장에서 쓰이는 항목과 내용의 리포트, 방법론과는 다른 차이가 있을 것 같습니다. (아니 어느정도는 달라야만 할 것 같습니다. 이론과 실전, 목적이 다르니깐요...^^)


하여간, 그래서 졸업 후 바로 기업 현장에 투입되서 분석을 업무로 하다보면 품질 수준의 차이과 절차 상의 문제 등이 이슈화 되어서 종종 목소리가 커지는 일이 생기는 것 같습니다. 이것은 마치 소프트웨어 공학에서의 개발 방법론을 준수하지 않고 대규모 프로젝트를 시행하게 될 경우 중간에 문제가 발생하여 관계자간 이견으로 목소리가 커지고 심하게 되면 프로젝트가 실패하고 더 심하면 소송까지 가게되는 안좋은 일이 생기게 되는 것과 유사하다고 생각됩니다.


이러한 이유로 실제 사례나 예시 등을 공부하고 준비하는 것은 중요하다고 할 수 있겠습니다.
그래서 다시보면 CRISP-DM과 같은 방법론이 중요하고요


그러나......


여기서 CRISP-DM 방법론에 대한 구체적인 내용 자체에 대한 설명은 가급적 조금하겠습니다.
왜그러냐하면 그 내용은 전에 포스팅한 것도 있고, 각 단계의 정의나 개요는 구글, 네이버를 찾아보시면 금방 나옵니다.
자료도 많고요.


따라서, 여기서는 각 단계에서 실제 분석 사례를 설명하면서 어떤 항목과 내용을 정리/진행했는지 말씀드려 보겠습니다.


참고) KDD, SEMMA, CRISP-DM 개념 관련해서는 이전에 작성한 아래 글을 참고해주세요.

https://bigdatamaster.tistory.com/11

 

데이터 분석 방법론 (KDD, SEMMA, CRISP-DM)

데이터 분석 방법론 (KDD, SEMMA, CRISP-DM) 데이터 분석 방법론 막상 데이터 분석을 하려고 하면 막막할 때가 많습니다...이럴때 미리 잘 정리된 절차와 방법을 따라서 하나씩 진행한다면 쉽게 접근할

bigdatamaster.tistory.com

 

 


1. 배경 및 목표 : 뭐 할라고??? 왜???

가. 비즈니스 배경 및 목적
경우에 따라 이러한 내용 뿐만 아니라 분석을 진행하려는 기업의 일반적인 정보에 대한 분석이 필요하기도 합니다. 비즈니가 처해있는 상황, 문제점, 사업 목표, 조직구성 등도 프로젝트를 완료하는데 도움이 됩니다.
예를 들면 대리점의 매출 저하로 인해 사업 성장에 문제가 발생하고 있어서 이를 개선하기 위한 니즈가 있을 수 있겠습니다.


나. 분석 목적 및 목표

왜 데이터 분석을 하려고하는가? 분석해서 무슨 효과를 내려고 하는가? 데이터 분석과 비즈니스와는 어떤 관계가 있는가? 이처럼 분석하려는 이유와 목적을 명확히 해야만 프로젝트에 혼선이 없고 힘을 집중할 수 있습니다. 
비즈니스 목적이 대리점의 매출을 증대 시키는 것이라고 하면, 분석 목적으로는 매출 증대가 가능한 대리점을 찾아내는 분석 모델이나 증대 가능한 정도를 예측하는 모델 수립을 목적으로 할 수 있겠습니다.
 

 

 

2. 데이터 이해 : 데이터 넌 어떻게 생겨먹었니?

 

가. 초기 데이터 수집


분석 목적에 따라 관련있는 데이터를 찾아서 수집해야합니다. 보통 기업에서는 데이터를 DBMS에 관리하기 때문에 업무담당자와 DBA를 통해서 필요하다고 생각되는 데이터를 확보할 수 있습니다. 일반적인 기업의 관점에서 ,,,데이터 성격 유형을 나누어 보면 고객 데이터, 상품 데이터, 구매 데이터, 로그 데이터 등이 있겠습니다. 이러한 데이터를 생성하고 보관하는 시스템으로 부터 데이터를 다운 받아서 확보합니다.
사례의 경우에도 영업시스템의 DBMS에서 데이터를 다운 받아서 초기 데이터를 수집하였습니다.



나. 데이터 기술


확보한 데이터가 어떤 데이터인지를 설명하는 자료를 만든다고 생각하시면 됩니다. 각각의 시스템, 테이블 별로는 몇건의 데이터가 들어있고 테이블의 항목은 어떤 것들이 있으며 데이터 유형(범주형, 연속형, integer, numeric, character 등)은 이렇다고 정리해 놓는 것입니다. 코드로 관리하는 것은 어떤 것들이 있으면 주요 코드의 해석은 이렇게 한다.등등. IT 시스템의 데이터 관리 측면에서 보면 Metadata와 데이터 품질에 해당하는 정보를 제공한다고 생각하면 이해가 쉬울 것 같습니다. 물론 통계 분석의 기술분석에 해당하는 정보들도 제공되면 좋습니다.



 

 

 


3. 데이터 전처리 : 지루하지만 중요한 작업, 장인 정신으로 한땀 한땀...

 

가. 데이터 정제
데이터를 클린징합니다. 일반적인 데이터의 문제로는 데이터 누락(데이터가 빠져있거나), 오류(엉뚱한 값이 들어있거나), 이해 부족(Metadata가 없어서 무슨 의미의 데이터 인지 모르는 경우) 등이 있을 수 있습니다.
대리점 코드가 빠져 있거나, 생성규칙에 안 맞는 이상한 대리점 코드가 들어 있거나, 이해할 수 없는 컬럼명이 있거나 하는 경우 입니다.
이러한 경우 정제 작업을 통해 데이터를 체워 넣고, 오류를 정정/변환하고, 생성원천을 찾아서 의미를 알아 냅니다.

나. 데이터 생성 / 통합
말 그대로 데이터를 만들고 통합해서 모델을 돌리기 좋게 만들어 놓습니다. 보통은 하나의 (파일) 데이터 셋으로 만들어 놓지요.


다. 데이터 확정
앞선 데이터 이해 단계를 통해 대상 데이터 종류(구분) 및 건수, 분석 기간, 분석 기준 시점 등을 정합니다.


팁으로 모든 활용 가능한 데이터를 분석할 수는 없습니다. 그리고 그럴 필요도 없습니다.
분석 목적에 맞게 최적의 대상 범위를 정하면 됩니다. 데이터 기간이 그렇고, 대상 종류도 그렇고, 데이터 건수이 그렇습니다.
데이터 기간은 분석 목적에 맞는 기간을 확보해야합니다. 다음 달의 대리점별 추정 매출액을 구하는 모델을 만들 경우 대리점 개점이후 모든 월 매출액 정보가 있어야만하는 것은 아닙니다. (필요하다고 다 있지도 않고요.^^) 직전월, 또는 직전 3개월, 6개월, 12개월 정도 기간의 데이터만 있어도 여러 분석 방법을 이용해서 돌릴 수 있습니다.
대상 종류와 건수도 목적에 맞게 조정해서 정하는게 모델의 정확도를 높일 수 있습니다. 예를 들면 수도권 대리점의 추정 매출이 필요하면 (당연하지만) 수도권의 대리점과 관련된 데이터만 처리하면 됩니다. 건수도 적용 알고리즘에 따라 조금씩 다르겠지만 일반적인 통계 분석의 경우 F검정 후 t검정을 통과하는 정도만으로도 성능에 차이가 크지 않습니다.
(물론 빅데이터 시대가 되면서 이러한 부분은 많이 안 중요해 지고 있습니다. 그냥 가능한 다 적용하는 거죠. 그래도 그보다는 빠르고 효과적인 분석을 원한다면 고려해보는게 좋습니다.)




4. 모델링 : 노른자, 붕어빵에 단팥...


가. 활용 모델링 기술 선정
적합한 모델링 기술을 정하기 위해 알아두면 좋은 질문들이 있습니다. 아래 질문을 통해서 어느 모델링 기술이 적합한지를 생각해 볼 수 있습니다.

  • 충분한 신뢰도를 만들 만한 데이터량을 가지고 있는가?
  • 일정수준 이상의 데이터 품질이 필요한 모델인가?
  • 보유 데이터가 특정 모델에서 사용하기에 적합한 형태인가?

마지막 질문의 답으로 적합하지 않은 데이터라 하더라도 데이터 변환 작업을 하면 모델에서 사용할 수 있게 만들 수는 있습니다. 그러나 이러한 변환에 따른 성능의 영향도를 고려해서 결정해야 합니다. 안그러면 억지로 돌린 꼴이 되니까요.
대리점 매출 추정 예에서는 Regression을 사용했습니다. 여러가지 요인들의 영향도를 파악해서 회귀식으로 만들었다.


나. 테스트 방안 설계 수립
어떤 모델링이 잘된 모델링인지 먼저 정해놓아야 딴소리가 없습니다.. 그러기 위해서 어떻게 테스트하고 쓸만한 모델인지를 평가하는 방법과 기준을 정해 놓아야 합니다.
즉, 모델링 기술에 따라 성능을 분석할 수 있는 지표를 미리 정하고 이 지표의 수준을 미리 정해 놓아야 합니다. 지도학습의 경우 (오분류표의) 오류율을 정하거나, 클러스터링 같은 비지도학습의 경우 실루엣이나 중심점과의 오차값 평균 등이 될 수 있겠습니다. 그리고 당연히 테스트를 위한 데이터는 별도로 만들어 놓아야 합니다. 보통은 모델 훈련 시 전체 분석 데이터의 70%를 이용해서 모델링하고, 나머지 30%를 테스트에 사용합니다.
사례에서도 7 대 3으로 나누어 진행했고 추정 매출액과 실제 매출액의 SME를 기준으로 10% +-를 목표로 잡았다.

 

 

5. 평가 : 얼마나, 무슨 의미가 있나??? 잘 한건가?

미리정해 놓은 폭표에 대비해서 어떻게 성과가 나왔는지를 정리하는 단계 입니다. 통계 모델의 입장에서 원하는 목표 성능은 나왔는지 그리고 이러한 성과가 비즈니스에 어떠한 의미를 주고 효과를 가져올 것인지 등을 정리하는 것 입니다.
그래서 제 생각에 이 단계에서는 성능 지표 분석과 모델/성능 최적화를 해야할 것 같습니다.
물론 많이 와서 전단계로 돌아가기 힘들지만 결국 이러한 순환/반복적인 작업이 바로 분석의 작업이고 의미있는 Insight를 찾아 내기 위한 활동이니까요. 이러한 경험과 노하우를 가지고 초기 데이터 정의, 전처리 단계 부터 여러 경우를 고려하면서 준비하면 빠르게 작업해 나갈 수 있습니다.


6. 발표/보고 : 이건 예술이야..!!!


드디어 마지막 단계인 Deployment 단게에 왔습니다.
이단계에서는 개발된 모델을 적용하여 결과를 확인하고 계속적인 관리를 위한 방법을 제시하는 단계 입니다. 간단히 말하면 완료 보고서를 쓰는 단계이지요. 프로젝트의 개요를 설명하고 비즈니스/데이터에 대한 이해 내용을 설명하고, 전처리 단계와 적용한 모델링 기술에 대한 내용을 설명하고, 결과로 나온 내용과 그 의미/시사점을 정리하면 됩니다. 마지막으로 향후 자동화 구축 방안 또는 모니터링 방안 등을 추가하여 보고하면 마무리 됩니다.


데이터 분석은 예술의 한 분야라고 생각합니다.
그림을 그리거나 글을쓰거나 또는 음악을 만들때 완벽한 것은 만들수 없습니다.
정말 드물게는 왼벽하다고 느낄 수도 있으나 일시적인 것이고 주관적인 입장에서만 그렇습니다.
데이터 분석도 그런 것 같습니다. 며칠 밤을 세워서 데이터를 정재하고 모델을 만들어도 마음에 쏙드는 결과를 얻는 것은 거의 물가능합니다. 다시 정재하고 보완하면 좋아질 수 있지만 이또한 완벽할 수 없지요.
그래서 방법론이라는 부분도 완벽할 수 없습니다. 모든 프로세스와 타스크를 체워 넣는다고해서 품질 좋은 모델이 만들어지는 것은 아닙니다.
결국 여러분이 진행하시려는 분석의 상황에 맞게 핵심 타스크를 잘 골라서 사용하시면 됩니다.
바로 예술적으로 말이죠....


도움이 되셨길 바라고 명품을 만드시길 바랍니다.

그리고 다른 글에서 실제 고객분석의 이론과 실무 방법을 알려드리겠습니다.




 

 

반응형
반응형

데이터 분석 방법론 (KDD, SEMMA, CRISP-DM)


데이터 분석 방법론

막상 데이터 분석을 하려고 하면 막막할 때가 많습니다...이럴때 미리 잘 정리된 절차와 방법을 따라서 하나씩 진행한다면 쉽게 접근할 수 있겠지요! 바로~~~, 이러한 방법을 정리해 봅니다. ^^

먼저 분석 방법론이란 무엇일까요? 방법론은 쉽게 말하면 앞에서도 잠깐 얘기한 절차와 방법입니다. 즉 어떤 일을 하기위한 체계적인 절차와 그 처리 방법을 정리한 것이라고 하겠습니다. 그럼 데이터 분석 방법에는 어떤 것들이 있을까요? 분석 방법에는 크게 3가지로, 통계적 방법론, 데이터 마이닝 방법론, 빅데이터 방법론으로 구분할 수 있을 것 같습니다. 통계적 방법론은 전통적인 통계 분석을 위한 방법론을 말합니다. 주로 학술 연구를 중심으로 사용되지요. 그리고 통계적 기법/이론을 발굴/적용하는데 중심이 되어있기 때문에 비즈니스 목적과 요구사항을 파악하고 처리하는데 미흡합니다. 반면 데이터 마이닝 방법론은 비즈니스 활용을 목적으로 만들어진 데이터 분석 방법론입니다. 즉, 분석을 통한 비즈니스 활용을 위한 절차와 방법이 정리되어 있습니다. 때문에 산업 현장에서 많이 쓰입니다. 빅데이터 방법론은 빅데이터의 적용 확대에 따라 비정형 데이터의 활용, 분산/분석 기술의 변화와 이에 따른 필요한 분석방법의 (귀납법중심으로의) 변화에 따른 새로운 분석 방법론입니다.

오늘은 그중에서 데이터 마이닝 방법론에 대해서 이야기해 보겠습니다.
제정법(제가 정리한 방법)에 따르면 데이터 분석을 위해 필요한 단계/절차, 활동내용, 산출물을 정리한 것으로 방법론에 따라 분석을 쭉~ 진행해 나가면 자연 스럽게 분석이 이루어지게 되는 것을 말합니다. 따라서 잘만 따라서 진행해 나간다면 (1)초보자도 쉽게 따라할 수 있으며, (2)분석지식이 부족한 사람도 분석 과정을 이해하기 쉽고, (3)중간에 깜빡하고 지나가는 작업을 방지할 수 있어서 일정한 수준 이상의 데이터 분석 품질을 유지 할 수 있습니다. 물론, 각 방법론의 의미와 방법을 잘 이해하고 잘 따라가야 겠지요. ^^

KDD, CRISP-DM, SEMMA

 

KDD

Knowledge Discovery in Database의 약자이며 기술과 데이터베이스를 중심으로한 Insight 발굴을 위한 절차와 단계를 정리한 것입니다. 때문에 DBMS를 운영하는 조직에서는 쉽고 유용하게 사용될 수 있습니다. (이를 위해 BI(Business Intelligence)라는 용어로 불리어 지기도 합니다. 서로 다른 점을 보면 BI는 개념적인 측면의 용어이고 KDD는 방법론의 이름이라는 것이 다릅니다.) 때문에 KDD는 데이터베이스에서의 Data를 통해 Insight를 얻기 위한 표준화된 처리 절차와 방법에 대한 정의라고 생각하시면 됩니다.

크게 5단계의 과정, Selection: 추출(Target Data 생성), Pre-processing: 전처리(Preprocessed Data), Transformation: 변환(Transformed Data), Data Mining(Patterns), Interpretation Evaluation: 해석/평가(Knowledge)을 거치게 됩니다.

 

[Google image 검색결과중]



 

SEMMA

Sampling Exploration Modification Modeling Assessment의 약자입니다. Statistics 관점의 방법론으로 분석 솔루션 업체인 SAS사 주도로 만들어진 방법론 입니다. 총 5단계로 구성되며, 샘플링, 데이터 탐색/전처리 등 통계 중심의 방법론 입니다. 이름중에 Sampling이 들어있는 것만봐도 아시겠죠! 그래서, 이것도 역시 비즈니스 상에서 필요한 목적과 요구사항 도출/정리/처리하는데 적합하지 않은 방법 입니다.

[Google image 검색결과중]


 

 

CRISP-DM

CRoss-Industry Standard Process for Data Mining의 약자 입니다.1996년 유럽연합EU의 프로젝트로 시작했습니다. CRISP-DM은 SPSS, Teradata, NCR 등 많은 업체들이 참여했습니다. 현재는 공식적인 활동은 중단한 상태이고 IBM의 SPSS Modeler 가이드로 업계애서 많이 사용중 입니다. 단계는 총 6단계로, 비즈니스 이해, 데이터 이해, 데이터 준비, 모델링, 모델 평가, 고객전달 입니다. 비즈니스 현장에서 많이 쓰이는 방법론이니까 자세히 알아보겠습니다.

각 단계 별로 아래와 같은 목적 및 주요 Task가 있습니다.

  1. 비즈니스 이해
    • ​Determine Business Objects
    • Assess Situation
    • Determine Data Mining Goals
    • Produce Project Plan​
  2. ​데이터 이해
    • ​Collect Initial Data
    • Describe Data
    • Explore Data
    • Verify Data Quality​
  3. 데이터 준비
    • ​Select Data
    • Clean Data
    • Construct Data
    • Integrated Data
    • Format Data
  4. 모델링
    • ​Select Modeling Technique
    • Generate Test Design
    • Build Model
    • Assess Model​
  5. 모델 평가
    • ​Evaluate Results
    • Review Process
    • Determine Next Steps​
  6. 고객전달 ​
    • ​Plan Deployment
    • Plan Monitoring and Maintenance
    • Produce Final Report
    • Review Project

 

[Google image 검색결과중]


이렇게 방법론을 보고 따라서 하려해도 실제로 업무에 적용하는 것은 쉬운 일이 아닙니다. 논리적인 연계와 흐름이 쉽지 않아서 이해하고 목적에 맞게 분석을 수행해 내기가 쉽지 않기 때문이죠.
다음 포스팅에서는 구체적인 사례를 들어가면서 얘기해 보도록 하겠습니다.

https://bigdatamaster.tistory.com/66

 

데이터 분석 방법론 (2) - 예시포함 (CRISP-DM)

데이터 분석 방법론 (2) - 예시포함 (CRISP-DM) 데이터 분석 방법론에 대한 개요와 자료는 많이 쉽게 찾을 수 있는데 실질적인 사례나 예시에 해당하는 내용은 접하기 어려운 것이 현실인 것 같습니

bigdatamaster.tistory.com



감사합니다.

그리고 이러한 기술 활용을 통한 고객 프로파일링 내용과
택스트 분석을 통한 고객분석/고객 성향분석에 대한 정보는 아래를 확인해보세요.

https://bigdatamaster.tistory.com/m/6

 

1 - 고객 프로파일링(Customer Profiling) - 1 개요 :데이터 분석

 1 - 고객 프로파일링(Customer Profiling) - 1 개요 :데이터 분석 안녕하세요, 주제는 고객 프로파일링 입니다. 특히, 고객 Communication 측면에서의 프로파일일에 대해서 이야기해 보겠습니다. 고객은 두

bigdatamaster.tistory.com



https://bigdatamaster.tistory.com/m/96

 

[연재] 고객분석ㅡMBTI

한 사람이 붐비는 인파를 뚫고 할인 매대에서 티셔츠를 집어들다. "예쁘네 이거사야지!" 몆번 훌터보더니 바로 계산대로 가서 계산을 했다. 그런데 저쪽 구석에서 한참동안을 서서 옷들을 뒤척

bigdatamaster.tistory.com

 

반응형

+ Recent posts