[데이터마이닝 개념과 프로세스]



1. 데이터마이닝 개념

미국 IT분야 시장조사 및 컨설팅 전문 업체인 가트너는 데이터 마이닝을 통계 및 수학적 기술뿐만 아니라 패턴인식 기술들을 이용하여 데이터 저장소에 저장된 대용량의 데이터를 조사함으로써 의미 있는 새로운 상관관계, 패턴, 추세 등을 발견하는 과정이라고 정의했습니다. 그리고 데이터 마이닝 컨설턴트인 Berry와 Linoff는 2000년에 데이터 마이닝을 의미 있는 패턴과 규칙을 발견하기 위해서 자동화되거나 반자동화된 도구를 이용하여 대량의 데이터를 탐색하고 분석하는 과정으로 정의하였습니다. 


데이터 마이닝은 주로 지식탐사, 기계학습, 패턴인식, 통계학, 신경망 컴퓨팅 등과 관련해 다양한 분야에서 활용될 수 있는데 이것은 빅데이터 분석에 있어서 가장 기본적인 분석 기술입니다. 각 분야에 대해서 간단히 알아보자면, 지식탐사는 Knowledge Discovery in Database의 약어로 KDD라고도 하는데 데이터베이스 안에 내재된 의미 있는 지식을 추출하는 전 과정이 이에 해당됩니다. 기계학습은 Machine Learning으로 인공지능이라고도 하는데 자동적인 학습 기법을 설계하고 연구하는 분야입니다. 패턴인식이란 계산이 가능한 기계적인 장치(컴퓨터)가 어떠한 대상을 인식하는 문제를 다루는 인공지능의 한 분야로 데이터베이스에서 유용한 패턴을 찾아내는 다양한 기법을 제공합니다. 그리고 통계학은 수량적 비교를 기초로 하여, 많은 사실을 통계적으로 관찰하고 처리하는 방법을 연구하는 학문이고 신경망 컴퓨팅은 신경망 등과 관련된 다양한 학문적 배경을 가진 한 분야입니다. 데이터 마이닝은 통계학과 기계학습으로 알려진 두 학문분야의 합류점에서 존재합니다. 데이터를 탐색하고 모델을 구축하는 다양한

기법들은 통계학분야에서 오랫동안 존재해 왔고 오늘날 컴퓨터 과학은 기계학습 기법을 제공합니다. 이러한 기계학습 기법은 강력한 계산능력에 의존하며 전통적인 통계모형보다는 덜 구조화되어 있습니다.






2. 데이터마이닝 프로세스


일반적인 데이터 마이닝 수행 프로세스에 대해서 살펴보겠습니다. 데이터 마이닝 프로세스는 데이터를 추출한 뒤 크게 데이터 선택, 데이터 전처리, 데이터 변환, 데이터 마이닝, 해석과 평가 단계로 진행됩니다. 그럼 각 프로세스에 대해 자세히 알아보도록 하겠습니다. 먼저 데이터 선택 단계에서는 분석에 사용될 데이터를 파악하기 위해 대량의 데이터베이스에서 표본을 추출하는데 이는 상이한 데이터베이스에서 데이터를 합치는 것을 의미하기도 합니다. 여기서 데이터베이스는 내부데이터이거나 외부데이터일 수 있는데 일반적으로 데이터 마이닝은 매우 큰 데이터베이스를 다룹니다. 데이터 전처리 단계에서는 데이터를 탐색, 정제, 그리고 전처리를 합니다. 전처리란 기본 반응이나 가공에 앞서 화학적 ∙ 물리적 작용을 가하여 예비적으로 하는 처리를 의미합니다.

즉, 결측치를 어떻게 처리해야 하는지, 각각의 변수에 대해 데이터 값이 합리적인 범위 내에 있는지, 극단치가]존재하는지에 대해서 검토하는 것을 말합니다. 



앞서 언급한 결측치와 극단치 더 나아가 이상치에 대해서 알아보도록 하겠습니다. 결측치(Missing Value)라는 것은 변수 값을 조사나 측정하지 못했을 경우나 변수 값에 대한 정보를 모르는 경우를 의미합니다. 극단치라는 것은 다른 값에 비해 크게 벗어난 값을 의미하는데 이는 비정상적으로 분포를 벗어난 값으로, 이는 측정오류에 의해 발생하는 경우도 있습니다. 더불어 이상치는 평균, 상관계수 추정치 등의 값을 왜곡시킬 수 있다는 특징이 있습니다.

 

데이터 변환 단계에서는 분석을 위해 데이터를 변환합니다. 불필요한 변수를 제거하고, 변수를 변환하며, 새로운 변수를 생성시키는 등의 작업을 포함합니다. 변수란 모델링에서 사용되는 것으로 독립 변수(Independent Variable), 종속 변수(Dependent Variable) 혹은 기타로 분류할 수 있는데, 독립 변수는 입력 값이나 원인을 나타내며, 종속 변수는 결과물이나 효과를 나타냅니다.  그리고 기타 여러 가지 원인으로 관찰 중인 변수들은 기타 변수라고 합니다.  


데이터 마이닝 단계에서는 데이터 마이닝 프로젝트의 목적에 맞도록 분류, 예측 군집 등과 같은 분석유형을 선택합니다. 그리고 각각의 목적에 맞게 회귀분석, 신경망모형, 군집분석 등 사용할 데이터 마이닝 기법들을 선택합니다. 그럼 분석 유형과 데이터 마이닝 기법들에 대해서 살펴보겠습니다. 먼저,

데이터 마이닝 프로세스의 분석 유형에 대해 살펴 보겠습니다. 우선 분류는 일정한 집단에 대한 특정 정의를 통해 분류 및 구분을 추론하는 것으로 예를 틀어 이탈한 고객을 추론할 수 있습니다. 다음으로 예측은 대용량 데이터 집합 내의 패턴을 기반으로 미래를 예측하는 것으로 고객이 제안에 반응을 보이거나 특정 제품을 구매할 확률 등을 예로 들 수 있습니다. 군집이라는 것은 구체적인 특성을 공유하는 자료들을 그룹핑 하는 것인데, 예를 들어 비슷한 행동을 하는 집단을 구분하는 것 등이 이에 해당합니다. 

다음으로 데이터 마이닝 프로세스에서 데이터 마이닝 기법들에 대해 알아보도록 하겠습니다. 먼저 회귀분석이라는 것은 관찰된 연속형 변수들에 대해 독립변수와 종속변수 사이의 상관관계를 나타내는 선형 관계식을 구하는 기법입니다. 더불어 이렇게 얻은 모형의 적합도를 측정하는 분석 방법입니다. 신경망모형은 시냅스의 결합으로 네트워크를 형성한 인공 뉴런인 노드를 학습을 통해 시냅스의 결합 세기를 변화시켜, 문제 해결 능력을 가지는 모델을 구성하는 인공지능 방법을 의미하는 것이며 군집분석은 주어진 데이터들의 특성을 고려해 클러스터를 구성하는 분석방법입니다.

데이터 마이닝 프로세스 과정중 마지막 해석과 평가 단계에서는 분석 결과가 좋은 성과를 가지는지 평가를 하는데 이는 좋은 분석 결과인 경우 향후 업무에 활용할 수 있기 때문입니다. 좋은 분석 결과라는 것은 추출 되어진 패턴이 실제 현장에서 잘 적용될 수 있을 정도로 신뢰성과 정확성을 가지고 있는 것을 의미하는 것입니다.  또한 도출된 패턴이 좋은 분석결과인지 검증을 하고 실무 적용에 대한 타당성을 반드시 확인해야 합니다. 


데이터마이닝 수행단계

데이터 마이닝  전문업체인 SAS는 데이터 마이닝 수행 단계로서 SEMMA를 제시하였는데요. SEMMA는

샘플링(Sampling)의 S, 탐색인 Exploration의 E, 수정인 Modification의 M, 모델링의 M, 평가인 Assessment의 A, 로 각 과정의 앞머리 글자를 따서 만든 데이터 분석 방법론입니다. 그럼 각 단계에 대해서 알아보겠습니다. 


(1) 샘플링은 분석 데이터 생성 단계로 적절한 양의 표본을 원래 자료로부터 추출하는 단계입니다. 이 단계는 시간과 비용을 절약할 수 있는 효율적인 모형을 구축하기 위해 필수적인 단계입니다. 즉, 분석할 데이터를 통계적 추출 혹은 일정한 조건에 따라 추출하는 과정으로 앞으로 수행 할 모델을 평가하기 위한 사전 준비 과정으로 생각할 수 있습니다. 

(2) 탐색은 분석 데이터를 탐색하는 단계로 여러 가지 자료의 탐색을 통해 기본적인 정보를 획득하는 단계입니다. 이 단계에서는 데이터 오류를 발견하고 모델의 효율을 증대할 수 있습니다. 또한 데이터 현황을 보고 비즈니스를 이해할 수 있고, 아이디어를 위해 이상현상, 변화 등을 탐색할 수 있습니다. 


(3) 수정은 분석 데이터를 수정하고 변환하는 단계로 데이터의 효율적인 사용을 위해 수량화, 표준화, 각종 변환, 그룹화 등 여러 가지 방법을 이용합니다. 이를 통해 데이터가 지닌 정보의 표현을 극대화 하고 최적의 모델을 구축할 수 있도록 다양한 형태로 변수를 생성하거나 선택 및 변형하는 단계입니다 


(4) 모델링은 실제로 어떤 분석모델을 사용할 것인지 모델을 구축하는 과정입니다. 이 단계는 데이터 마이닝의 핵심으로써, 분석 목적에 따라 적절한 기법을 사용하여 예측 모형을 만드는 단계인 것입니다. 이를 통해 데이터의 숨겨진 패턴을 발견하고 현재 제기되고 있는 비즈니스 이슈를 해결할 방법이나 모델을 찾습니다. 
  

(5) 평가는 모델의 평가 및 검증이 이루어지는 단계로 모형화 결과에 대한 신뢰성, 유용성 등을 평가하는 단계입니다. 또한 서로 다른 모델을 동시에 비교하여 어떤 모델이 적합할 것인가를 검증하고, 도출된 모델이 얼마나 의미 있는지를 파악하기도 합니다. 이를 통해 검증된 모델에 대해 가설을 확장하거나 추가 분석 수행 여부에 대한 결정을 하기도 합니다.






[데이터마이닝 기법]



1. 군집분석 (Cluster Analysis)


정의와 방법

데이터 마이닝 기법 중 군집 분석에 대해 알아보겠습니다. 군집분석이란 데이터 안에 존재하는 알지 못하는 특성들이 있을 때, 데이터 점들이 군집을 이루게 하면서 그 특성들이 나타나도로 하게 하는 것입니다. 군집분석은 유사성을 기초로 그룹화하는 방법과 그룹 내 분산 개념을 기초로 그룹화하는 방법이 있습니다. 여기서 유사성이란 데이터간의 동질성을 의미하는 것이고 그룹 내 분산 개념이란 그룹 내에 존재하는 데이터 간의 산포를 의미하며 그룹간의 분리 정도란 그룹간 차이의 정도를 의미하는 것입니다. 


군집 분석 기법

계층적 군집기법비계층적 군집기법으로 구분할 수 있습니다. 

계층적 기법은 클러스터를 만들어 가는 과정에서 여러 개의 클러스터가 만들어지는 기법이고, 비계층적 기법은 N개의 구성인자를 M개의 클러스터로 분류하는 것입니다. 계층적 군집기법의 알고리즘에는 최단 연결법(Single Linkage Method)이 있는데 이것은 두 군집 사이의 거리를 각 군집에 속하는 임의의 두 데이터들 사이의 거리 중 최단거리로 정의하여 가장 유사성이 큰 군집을 묶어 나가는 방법입니다. 비계층적 군집기법의 알고리즘으로는 K-평균 알고리즘이 있습니다. 이것은 K-means Algorithm이라고도 하는데  주어진 데이터를 K개의 클러스터로 묶으면서 각 클러스터와 거리 차이의 분산을 최소화하는 방식으로 동작하는 것입니다. 





2. 의사결정나무 분석 (Decision Tree)


의사결정나무 분석은 의사결정 규칙을 도표화하여 관심대상이 되는 집단을 몇 개의 소집단으로 분류하거나 예측을 수행하는 분석 방법입니다.


의사결정나무 분석에는 인공지능, 기계학습 분야에서 개발된 ID3, C4.5, C5.0 알고리즘들과 통계학 분야에서 개발된 카트(CART), 체이드(CHAID) 알고리즘으로 나눌 수 있습니다.

인공지능, 기계학습 분야에서 개발된 ID3, C4.5, C5.0 알고리즘들에 대해서 살펴보겠습니다. ID3란 기계학습분야에서 데이터로부터 의사결정나무를 생성할 때 사용하는 알고리즘이고, C4.5는 ID3를 확장한 알고리즘입니다.


그리고 C5.0은 C4.5를 개선한 알고리즘입니다. 통계학 분야에서는 카트(CART), 체이드(CHAID) 알고리즘이 개발되었는데, 카트(CART)란 Classification And Regression Trees 의 약어로서, 의사결정 나무를 생성할 때 후보 나무들을 여러 개 생성하고 그 중에서 최적의 나무를 찾아내는 방법입니다. 체이드(CHAID)란 Chi-square Automatic Interaction Detection 약어로서, 통계학의 카이제곱-검정 또는 F-검정을 이용하여 다지 분리(Multiway Split)를 수행하는 알고리즘입니다. 



3. 연관성 규칙 발견 분석 (Association Rule Discovery)


관성 규칙 발견 분석은 특정의 아이템 집합에서 어떤 아이템 거래가 발생하면 연관성에 따라 다른 특정 아이템의 거래가 발생하는 현상을 발견하고자 하는 분석 기법입니다. 예를 들어 구매자가 특정 아이템 집합인 장바구니에 사과를 넣을 때는 바나나도 같이 넣는 경우가 있다고 가정할 경우 사과와 같이 어떤 아이템 거래가 발생할 때 어떤 연관성에 따라 바나나와 같은 다른 특정 아이템의 거래가 발생하는 상황이 있습니다. 이런 현상을 발견하고자 하는 분석 기법이 연관성 규칙 발견 분석인 것입니다. 이는 마케팅에서 손님의 장바구니에 들어있는 품목간의 관계를 알아본다는 의미에서 장바구니 분석이라고도 합니다. 또한 연관성 규칙은 “상품 A가 구매되어진 경우는 상품 B도 구매된다.” 라고 해석됩니다. 




4. 인공 신경망 (Artificial Neural Network)


인공신경망은 뇌기능의 특성을 컴퓨터 시뮬레이션으로 표현하는 것을 목표로 하는 
수학 모델로서 교사 학습비교사 학습 등의 방식이 있습니다. 교사 학습은 교사 신호(정답)의 입력에 의해서 문제에 최적화되어 가는 것으로 명확한 해답이 있는 경우 이용되는 방식입니다. 여기서 교사 신호란 정답과 같은 목표치를 의미하는 것입니다. 비교사 학습은 교사 신호를 필요로 하지 않으며, 데이터가 어떻게 구성되었는지를 알아내는 문제의 범주에 속하는 것입니다. 인공 신경망은 매우 복잡한 구조를 가진 데이터들 사이의 관계나 패턴을 찾아내고 특수한 컴퓨터를 사용하여 구성될 수도 있으나 대부분 일반 컴퓨터에서 응용소프트웨어에 의해 구현됩니다. 




5. 사례기반 추론 (Case-Based Reasoning)


사례기반 추론은 유사한 과거 문제의 해결에 기초해서 새로운 문제를 해결하는 과정입니다. 이것은  귀납법 및 유추법과 유사한 개념으로 단순하면서도 문제 영역이 잘 정형화되지 않는 분야에서 좋은 접근법입니다. 


형식화 단계

사례기반 추론은 컴퓨터 추론 목적으로 형식화될 때 검색, 재사용, 수정 그리고 유지의 단계 과정을 거쳐 적용됩니다.

검색 단계에서는 대상 문제가 주어지면, 적절한 사례들을 검색하고 하나의 사례는 문제, 해, 해설 등으로 구성됩니다. 

재사용 단계에서는 이전의 사례로부터 대상 문제의 해를 연결합니다. 그리고 수정 단계에서 새로운 해법을 테스트하고 필요하다면 수정을 하게 됩니다. 해법이 성공적으로 대상 문제에 적용된 후에는 마지막 유지 단계를 거치는데 이 단계는 새로운 경험이 메모리에 새로운 사례로 저장됨으로써 축적된 경험이 많아져 앞으로 더 잘 문제를 잘 해결하게 해줍니다



6. 유전자 알고리즘 (Genetic Algorithm)


생물의 유전과 진화 메커니즘을 공학적으로 모델링 하여 문제 해결이나 시스템의 학습 등에 응용하는 것입니다. 유전자 알고리즘은 계산 모델을 프로그래밍하여 문제해결 전략을 수립하고 적용함으로써 자연과학, 공학 및 인문 사회 과학 분야에서 계산 불가능한 복잡한 문제를 해결하는 데 널리 응용되고 있습니다.