빅데이터 분석의 방법론에는 대표적으로 3가지가 있다.
KDD, SEMMA, CRISP-DM
오늘은 이 3가지에 대해서 공부했다.
조금 추상적..?ㅇ?ㅇ 이라는 생각이 들어서 공부할 때 도대체 뭐가 어떻게 다르다는 거지.... 말만 조금씩 바꿔놓은 것 같은데,,, 라고 생각이 들었는데,
그럼에도 확실히 방법론마다 특징과 어떤 경우에 많이 쓰이는지에 대한 핵심 포인트들이 있으므로 그 내용을 중심으로 기술해보겠다!
1. KDD
: (Knowledge Discovery in Database) 지식 탐색 중심
: 데이터를 중심으로 insight 발글을 위한 절차와 단계를 정의한 데이터 마이닝 기법
- 프로파일링 기술 기반
- 통계적 패턴, 지식 발견
- 인사이트 발굴(현황분석을 통한 요건 정의)
'데이터 마이닝'이라는 용어와 같은 의미로 사용되기도 하지만, 차이를 두어 보자면, KDD는 데이터로부터 유용한 지식과 인사이트들을 발견해내는 전반적인 과정을 아우르는 말이고, 데이터 마이닝은 특히 KDD의 4번째 단계를 의미한다. 이 4번째 단계가 KDD의 핵심 단계이다.
데이터로부터 인사이트를 발굴한다는 점에서 BI(Business Intelligence)와 혼용되기도하는데, BI는 개념적 측면의 용어이고, KDD는 방법론 용어임에서 차이가 있다.
<KDD의 단계>
- Selection : 데이터베이스 또는 원시 데이터 분석에 필요한 데이터 선택하고 필요한 경우 추가적인 데이터셋을 생성하는 단계이다.
- Preprocessing : 데이터셋에 포함되어 있는 잡음(noise)과 이상값(outlier), 결측치(missing value)를 식별하고 필요시 제거하거나 의미있는 데이터로 처리한다. 좋은 결과를 위해서는 더러운 데이터들을 깨끗하게 제거하는 단계!
- Transformation : 분석 목적에 맞는 데이터를 선택하거나 데이터 차원을 축소하여 데이터 마이닝을 효율적으로 적용될 수 있도록 데이터셋을 변경한다. 내가 가지고 있는 데이터를 그대로 가져와서 바로 분석할 수는 없다! 분석에 용이하도록 데이터를 예쁘게 다듬는 과정!
- Data Mining (Data Modeling) : 분석 목적에 맞는 데이터 마이닝 기법을 선택하고 데이터 마이닝 알고리즘을 선택하여 패턴을 찾거나, 분류, 예측 등 마이닝 수행한다. 여기가 진짜 핵심 분석 단계! 본격적으로 분석을 수행하고, 결과를 도출해내는 단계
- Interpretation / Evaluation : 데이터 마이닝 결과에 대한 해석과 평가하고 분석 목적과의 일치성 확인하는 단계이다. 내가 분석을 제대로 잘 했나! 미리 설정한 목표에 접근했나! 확인하는 단계!!
2. SEMMA
: 데이터 탐색의 5개 프로세스 기반 데이터 마이닝 기법
: 문제의 정의 자체가 어려운 경우 데이터를 기반으로 문제의 재정의 및 해결방안을 탐색하여 개선하는 방식
: SAS에서 데이터마이닝의 과정으로서 개발한 방법론으로 총 5개의 단계를 가진다.
: 일반적으로 대량의 데이터 (센서 데이터)에서 많이 요구된다.
SAS사에서 만든 방법론으로, 문제 정의가 어려운 경우! 즉, 분석 목적이 명확하지 않은 경우 사용하는 방법론이다.
<SEMMA의 단계>
- Sample : 분석 대상 데이터를 추출한다.
kdd에서의 selection 단계와 다른 점은 단계 이름 그대로 내가 select하지 않는 다는 것이다. 분석 대상이 되는 데이터 자체를 몽땅(혹은 무작위로 추출해서) 가져온다. 목적이 없으니까!! - Explore : 분석 대상 데이터를 탐색하고, 데이터 조감을 통한 데이터오류를 검색 : 데이터 현황을 통해 비즈니스를 이해, 아이디어를 위해 이상현상, 변화 등을 탐색한다.
SEMMA 방법론에서 중요한 단계가 아닐까 생각한다. 무엇이 문제인지 모르는 상태에서 아이디어가 도출될 수 있는 단계..! - Modify : 분석 대상 데이터의 수량화, 표준화, 각종 변환 및 그룹화하고, 데이터가 지닌 정보 표현을 극대화한다.
- Model : 데이터의 숨겨진 패턴을 발견하고 최적의 모델 구출하고 비즈니스 문제 해결을 위해 특수의 모델과 알고리즘 적용하는 단계이다.
- Assess : 모델의 평가 및 검증 서로 다른 모델을 동시에 비교 추가분석 수행여부 결정한다.
3. CRISP-DM
: 위에서 소개했던 2가지 방법들보다 상대적으로 효율적인 방법론이라고 할 수 있다.
: 비즈니스와 데이터 이해를 시작으로 6단계로 수행되는 데이터 마이닝 방법론으로, 여기서 포인트는 어느정도의 비즈니스적 도메인의 이해를 가지고 출발한다는 점이다!
<CRISP-DM의 단계>
- Business understanding : 비즈니스 관점에서 데이터 분석의 목적과 요구사항 이해 : 도메인 지식을 데이터 분석을 위한 문제로 정의한다. 이 단계가 앞의 두 방법론과 가장 큰 차이점이다!(특히 SEMMA와 많이 다름) -> 뭐가 문제인지, 어떻게 바꾸고 싶은지 목적과 비즈니스적 도메인에 대한 이해가 어느정도 있는 상태라는 점!!
(이후 부터는 KDD와 비슷한 단계이기 때문에 더 추가적인 부가설명은 생략한다.) - Data understanding : 분석을 위한 데이터를 수집하고 속성을 이해하기 위한 과정 : 데이터 품질에 대한 문제점을 식별, 숨겨져 있는 insight 발견
- Data preparation : 수집된 데이터에서 분석기법에 적합한 데이터셋을 편성
- Modeling : 다양한 모델링 기법과 알고리즘을 선택하고 파라미터를 최적화한다. 모델 과적합 등의 문제를 발견하고 대응 방안 마련한다.
- Evaluation : 모델링 단계에서 얻은 모델이 프로젝트의 모적에 부합하는지 평가한다. 최종적으로 데이터 마이닝 결과를 수용할 것인지 여부를 판단
- Deployment : 완성된 모델을 실무에 적용하기 위한 계획 수립하고, 실무에 적용된 모델의 유지보수 계획을 수립하고, 프로젝트 종료 및 리뷰한다. 비즈니스적 측면에 더 집중한 방법론이기 때문에 evaluation을 넘어 deployment 단계가 있다. 실무에 어떻게 적용시킬지, 모델은 앞으로 더 어떻게 유지하고 보수할지 구체적으로 계획을 세우는 단계!! (앞으로의 발전가능성도 엿볼 수 있는 아주 중요한 단계라고 생각한다!! 프로젝트 할 때는 꼭 이 단계 넣기!!)
물론, 프로젝트의 특징, 성향에 따라 적용하는 방법론이 상이하겠고, 무 자르듯이 방법론간 연관성이 전혀 없다고도 할 수 없으므로, 본인이 진행하려고 하는, 또는 진행하고 있는 프로젝트에 따라 열심히 고민해서 방법론의 단계 수립을 결정해야한다.
'Data Science' 카테고리의 다른 글
[Data Science from Scratch] Ch2. A Crash Course in Python (0) | 2021.12.03 |
---|---|
python scraping 연습 (한빛미디어 도서리스트 scraper 만들기) (0) | 2021.09.12 |
👩💻 링크타고 브랜드 타이틀 크롤링 (1) | 2021.09.12 |
python 가상환경 사용하기 (conda) (0) | 2021.09.11 |
🌐 웹페이지 인코딩 방식 추출하기 (0) | 2021.07.24 |
댓글