[데이터마이닝 분석유형과 분석 알고리즘]


데이터 마이닝의 분석 유형은 데이터 마이닝을 통해 어떤 종류의 정보를 찾고자 하는가에 따라 
구분될 수 있습니다. 이를 바탕으로 데이터 마이닝은 분류분석, 군집분석, 연관분석 등으로 구분 할 수 있습니다.



1.분류분석


분류분석은 데이터 마이닝 분석의 가장 기본적인 분석 형태입니다. 이것은 분류 결과가 알려진 과거 데이터로부터 분류별 특성을 찾아내어 분류 모형 및 분류 규칙들을 알아냅니다. 그리고 이를 바탕으로  그 규칙들을 분류 결과가 알려지지 않은 새로운 데이터에 적용하여 분류 값을 예측하는 것입니다.


분류분석의 단계를 알아보겠습니다. 분류분석은 2단계를 거치는데요. 

첫 번째 단계에서는 (1) 분류 모델을 구축합니다. 이는 과거 데이터를 기준으로 Output 속성의 Class라고도 하는 범주와 input 속성들과의 관계를 설명하는 모델을 구축하는 것입니다. 고객에게 제품 홍보 우편을 보냈을 때 반응이 있을지를 분류하는 것을 예를 들어 설명하겠습니다. 고객에게 제품 홍보 우편을 보냈을 때 반응이 있을지 여부를 판단하기 위해서 고객의 직업, 성별, 거주지, 나이를 기준으로 분류합니다. 우편을 보냈을 때 응답 반응으로는 예 또는 아니오로 나뉘게 되는데 이때는 범주의 수가 2이고 Input 속성의 수인 4는 분류분석 문제가 됩니다. 
           

구체적으로 다시 살펴보면 범주가 알려진 고객들에 대하여 4개의 Input 속성 데이터를 수집한 후 이들 사이에 존재하는 패턴을 Input 속성의 조합으로 나타내는 분류 모델을 구축하는 것입니다. 여기서 분류 모델은 분류 규칙, 의사결정나무 또는 수학식들로 표현됩니다.



두 번째 단계에서는 (2)1단계에서 구축한 분류 모델을 이용하여 분류작업을 진행합니다. 이 단계에서는 모델의 예측정확도를 추정하고, 모델의 정확도가 확인되면 이를 통해 새로운 데이터들에 대해 적용하여  분류작업을 수행하게 됩니다. 이를 구체적으로 알아보기 위해 고객에게 제품 홍보 우편을 보냈을 때 반응이 있을지를 분류하는 것을 예를 들어 설명하겠습니다. 앞선 1단계가 구축된 고객 반응 여부를 분류하는 모델이라면, 2단계는 특정 고객의 반응 여부를 4개 속성 값을 근거로 예측하는 것입니다.

제시된 화면의 내용은 의사결정나무로 고객에게 제품 홍보 우편을 보냈을 때의 반응을 구축한 것입니다. 분류된 옆 괄호 안에숫자가 적혀 있지요? 이 괄호 안에는 전체 레코드의 수, ‘아니오’라 응답한 레코드의 수, ‘예’라 응답한 레코드의 수가 순서대로 적혀있습니다.여기서 레코드란 데이터베이스의 테이블에서 행을 의미합니다. 여기서 1단계 분류 모델 구분 기준으로 제시된 성별이 포함되지 않은 것은 성별은 중요하지 않은 변수라고 판단되었기에 의사결정나무에 나타내지 않았음을 참고 하시기 바랍니다.





의사결정나무 분석 알고리즘

이번에는 의사결정나무 분석 알고리즘에 대해서 살펴보겠습니다. 의사결정나무 분석 알고리즘은 대표적인 분류분석 기법으로 여러 단계의 복잡한 조건을 갖는 문제와 그 조건 및 그에 따른 해결방법을 나무 형태로 나타낸 것입니다. 의사결정나무 단계는 총 4단계를 거치는데 첫째, 의사결정나무 생성 둘째, 가지치기 셋째, 타당성 평가 넷째, 해석 및 예측의 단계를 거쳐 수행됩니다. 각 단계에 대해서 알아 보도록 하겠습니다. 



첫째, 의사결정나무 생성 단계에서는 분석의 목적과 자료구조에 따라 적절한 분리기준과 정지규칙을 지정하여 의사결정나무를 얻습니다. 여기서 분리기준이란 의사결정 나무를 생성할 때 가지를 나누는 기준을 의미합니다. 정지규칙이란 의사결정 나무를 생성할 때 더 이상 가지를 만들지 않고 정지하는 규칙을 의미합니다. 둘째, 가치치기 단계에서는 분류오류를 크게 할 위험이 높은 가지를 제거하게 됩니다. 여기서 분류오류란 의사결정나무를 만들면 이를 이용하여 분류하게 되는데 이때 발생되는 오류를 의미하는 것입니다. 



셋째, 타당성 평가 단계에서는 이익표나 위험도표 등을 이용하여 의사결정나무를 평가합니다. 
이때, 이익도표란 생성된 의사결정나무를 이용하여 분류를 할 경우 얻게 되는 성능에 따른 이익을 표시한 것을 의미하고 위험도표란 생성된 의사결정나무를 이용하여 분류를 할 경우 얻게 되는 성능에 따른 위험을 표시한 것을 의미합니다. 마지막 넷째, 해석 및 예측 단계에서는 의사결정나무를 해석하고 예측 모형을 설정하게 됩니다. 이러한 수행단계에서 분리기준, 정지규칙, 평가 기준 등을 어떻게 적용하느냐에 따라 서로 다른 의사결정 트리를 생성하게 됩니다. 

 


2.군집분석

 

분석 유형 중 군집분석에 대해서 알아보겠습니다. 군집분석이란 수많은 데이터들을 유사한 특성을 지닌 몇 개의 소그룹으로 분할하는 것을 의미합니다. 이는 유사성이 많은 것을 그룹으로 묶음으로써 그룹 내에서는 동질성을 극대화하고  서로 다른 그룹 상호 간에는 이질성을 극대화시킵니다. 그래서 군집분석은 특정한 가설을 세우지 않고도 수많은 데이터내에 숨겨진 패턴들을 찾을 수 있다는 특징이 있습니다.




군집분석 활용 분야 대해서 알아보겠습니다. 군집분석은 고객 세분화, 상품배합 세분화 같은 세분화 작업 등에 많이 사용되는데 구체적으로 하나씩 살펴보도록 하겠습니다.


첫째, 고객 세분화란 고객의 특성에 따라 고객을 나누어 그룹핑 하는 것을 말합니다.

둘째, 상품 세분화란 상품의 특성 즉 용도, 크기, Brand, 맛 등에 따른 상품을 그룹핑하는 것입니다. 

 

앞선 두 세분화 이외에도 패턴인식생물연구, 공간데이터 분석, 웹 문서 클러스터링 등 많은 분야에 응용되고 있는데 먼저, 패턴인식이란 계산이 가능한 기계적인 장치(컴퓨터)가 어떠한 대상을 인식하는 문제를 다루는 인공지능의 한 분야를 의미하는 것인데 군집분석이 여기에 사용됩니다. 다음으로 생물연구는 말 그대로 생물의 특징을 연구하는 분야이며 공간데이터 분석은 공간 데이터를 이용하여 공간을 분석하는 분야입니다. 마지막으로 웹 문서 클러스터링이라는 활용 분야에도 군집분석이 사용되는데 이는 웹 문서의 특징을 분석하여 유사성에 기반하여 웹문서를 그룹핑하는 것을 의미합니다.

          

이어서 군집분석의 대표적인 알고리즘에 대해 알아보도록 하겠습니다. 군집분석의 대표적인 알고리즘에는 분할기법, 계층기법, 밀도기반기법, 격자기반기법, 모델기반기법 등이 있습니다. 
           



분할기법이란 K개의 초기분할을 만들어 각각의 객체를 하나의 그룹에서 다른 그룹으로 재배치하고 이러한 작업을 반복함으로써 분할을 개선하는 기법을 의미합니다. 계층적 기법은 주어진 데이터 집합을 계층적으로 분해하는 상향식(Bottom-up) 접근을 사용합니다. 이를 통해 모든 그룹이 하나로 합쳐질, 즉 계층의 가장 높은 단계이거나 종료의 조건이 될 때까지 서로의 근처에 데이터 또는 데이터 그룹을 연속적으로 합치는 것울 의미합니다. 또는 하향식 (Top-down) 접근을 사용하여 각각의 데이터가 하나의 군집이 되거나 종료의 조건이 될 때까지 더 작은 군집으로 분할시키는 것입니다. 밀도기반기법은 밀도라는 개념에서 출발하여 군집을 이웃 객체의 밀도에 혹은 특정한 밀도함수에 기반해 군집을 키워 나가는 군집 기법입니다. 격자기반기법은 데이터가 존재하는 공간을 격자구조로 이루어진 유한개의 공간으로 만든 후 군집화 과정이 격자구조에서 실행되는 기법입니다. 마지막으로  모델기반기법은 각 군집에서 모델을 가정하고 이렇게 주어진 모델에서 가장 잘 맞는 데이터를 찾는 기법을 의미하는 것입니다.

 

 



K-평균 알고리즘

 

K-평균 알고리즘은 분할기법의 대표 알고리즘으로 N개의 데이터 집합을 K개의 군집으로 분해하게 되는데 이는 분석자가 K값을 결정하여 입력하면 군집 내 유사성은 높고 군집들 사이의 유사성은 낮도록 군집을 만들기 위함입니다. 여기서 군집간 유사성은 군집들의  평균값을 기준으로 산정합니다. 왜냐하면 군집의 평균 값은 군집의 무게중심으로 볼 수 있기 때문입니다.



그럼 K-평균 알고리즘 과정을 알아볼까요? 우선, 군집 평균이나 중심을 나타내는 값으로 데이터들에서 K개를 임의로 뽑습니다. 그러면 남겨진 데이터들은 데이터와 군집평균에 기초하여 가장 유사한 군집에 할당되고 이렇게 할당된 각 군집들은 새로운 평균을 구하는 과정을 거칩니다. 이 때, 각 데이터의 소속 군집이 바뀌지 않을 때까지 두번째와 세번째 과정을 반복합니다.

 



 

3.연관분석

 

연관분석은 데이터 안에 존재하는 항목 간의 종속 관계를 찾아내는 작업을 의미합니다. 구체적으로 예를 들면 살펴보면 상품을 팔 때, 어떤 상품들이 함께 잘 팔리는지, A 제품을 구입한 고객에게 어떤 제품을 함께 팔 수 있을지, 카드 사기 유형 간에는 어떤 관계가 있는지 등을 분석할 수 있습니다. 이와 같은 연관분석을 통해 ‘항목 A 그리고 항목 B는 항목 C’ 라는 형태를 가지는 연관규칙을 생성할 수 있습니다. 연관 규칙에 대해 상품 구매 과정 요소를 바탕으로 알아 보도록 하겠습니다. 상점에서 판매되는 상품 전체를 하나의 세계라고 가정한 후 이를 구성하는 각 상품에 대해서 존재유무를 표현한다면, 각각의 고객 장바구니는 이들 변수들에 할당된 값으로 구성된 벡터로 표현할 수 있습니다.

그리고 이러한 벡터는 자주 함께 구매되는 상품에 관한 구매패턴의 분석에 이용될 수 있습니다.
자주 함께 구매되는 상품에 관한 구매패턴은 연관규칙의 형태로 표현됩니다. 예를 들면 편의점에서의 고객 거래 데이터인 Point Of Sales를 줄인 POS데이터를 분석하면 화면에 제시된 그림에서와 같이 넥타이를 구매한 사람이 셔츠를 함께 구매한다는 연관 규칙을 찾아낼 수 있습니다. 이러한 분석을 이러한 분석을 장바구니 분석이라고 하는데 이를 이용하면 구매 행태와 관련하여 예컨대 고객이 넥타이를 살 때 셔츠를 함께 구매할 가능성이 얼마나 되는지를 확인할 수 있다는 특징이 있습니다.

 

 

연관분석은 빈발패턴을 찾습니다. 빈발 패턴이란 하나의 데이터 집합에 자주 나타나는 패턴을 찾는 것으로 빈발항목 집합(Item sets), 빈발 부분순차(Subsequences), 빈발 부분구조(Substructures)의 패턴을 찾는 것입니다. 좀 더 자세히 학습하기 전에 최소지지도와 최소신뢰도가 무엇인지 알아보도록 하겠습니다. 최소지지도란 최소로 만족해야 하는 지지도 값을 의미하는데,  여기서 지지도란 전체 자료 중에서 빈발패턴의 자료가 차지하는 비율을 의미합니다.  다음으로 최소신뢰도란 최소로 만족해야 하는 신뢰도 값을 의미하는데, 이때, 신뢰도는 빈발패턴의 자료가 정확할 확률을 의미합니다. 연관규칙의 빈발패턴 과정을 다시 살펴보도록 하겠습니다. 연관분석은 사전에 지정된 최소 지지도 개수 이상이 빈번하게 발생된 빈발항목 집합 전체를 찾은 후, 빈발항목 집합에서 최소지지도와 최소신뢰도를 모두 만족하는 강한 연관성을 가지는 것을 도출하여 규칙으로 표현하게 되는 과정을 거칩니다.

 

 

선험적 알고리즘

 

빈발 패턴에서 선험적 알고리즘은 빈발 항목 집합을 마이닝하여 연관규칙을 생성할 때 사용하는 알고리즘을 의미합니다. 앞서 언급한 내용들을 바탕으로 연관규칙에 대해 다시 한번 정리하여 알아보도록 하겠습니다. 연관규칙은 규칙의 지지도와 신뢰도 값을 가지는데, 이것은 해당 규칙의 유용성과 확실성을 반영합니다. > 예를들어 넥타이를 구매한 사람이 셔츠를 함께 구매한다는 연관규칙이 지지도 2%와 신뢰도 60%의 값을 가진다고 하면,  분석 대상이 된 모든 거래의 2%가 넥타이와 셔츠를 함께 구매했음을 나타내고, 넥타이를 구매한 고객의 60%가 그 셔츠를 구매했다는 것을 나타냅니다. 그래서 연관규칙은 일반적으로 분석가가 설정하는 최소지지도 값과 최소신뢰도 값으로 표시되는 것입니다.

 

 

 

 

 

[데이터마이닝 분석유형별 사례]


1. 분류분석 사례


분류분석 사례로 ‘의사결정나무모형을 이용한 급경사지 재해 예측프로그램 개발 및 적용 사례’를  살펴보면 화강암, 편마암 등 결정질암 지역에서의 급경사지재해 발생지역 및 미발생 지역에 대한  현장조사 및 토질시험자료를 토대로 의사결정나무모형을 이용하여 급경사지재해 예측모델을  개발하였습니다. 이를 위해, 경기북부, 상주 및 속초 지역에 있는 108개소에 대해, 총 15개의  급경사지재해에 영향을 미치는 변수 데이터를 활용하였습니다. 이 데이터에 따르면 목표변수는  산사태 발생여부이고, Input 속성은 풍화정도, 지형고도, 사면 방향, 사면 경사 등등 총 15개의  변수입니다.  분석결과 생성된 의사결정나무모형 예측모델은 그림과 같습니다. 



 상위 분리기준 변수로는 사면경사가  선택되었으며, 하위 분리기준 변수로는 각각 투수계수와 간극비가 선택되었습니다.  각 예측 모델의 하위 숫자 데이터들이 무엇을 의미하는지 살펴 보겠습니다.  맨 왼쪽에 1과 0은 산사태 발생여부를 나타냅니다. 여기서 1은 발생을 나타내며 0은 미발생을 나타냅니다.  그리고 옆에 보이는 93.2%는 해당비율을 나타내는 것이며 그 옆의 41은 해당 데이터 개수를 의미하는  것입니다. 즉, 여기서는 해당 데이터의 개수가 41개 임을 알 수 있습니다.


 

 

 


2. 군집분석 사례


군집분석 사례로 ‘군집분석을 통한 중소기업 온라인 마케팅 지원 수혜기업의 세분화 전략에 관한 연구’를 살펴보겠습니다. 창업기업 홍보마케팅 지원사업의 367개 수혜기업을 대상으로 지원 프로그램에 대한 사업추진 만족도를 구성하고 있는 4개 항목을 변수로 설정하여 군집분석을 실시하였습니다.  여기서 4개 항목 변수란 지원사업의 전반적인 활용도, 전반적인 만족도, 지속적 참여의사, 다른 기업에게 추천할 의향을 나타냅니다. 이러한 군집분석 후에 군집별 유형화 및 지원기업 세분화 전략을 제시하였습니다. 


그리고 군집분석 방법으로는 K-평균 알고리즘을 사용하여, 군집 수를 3으로 결정했습니다. 이때, +값은 긍정, -값은 부정적 의견을 나타냅니다. 






이를 바탕으로  K-평균 알고리즘 분석 결과를 살펴 보면 군집1은 총 93개 기업으로 활용도, 만족도, 지속적 참여의사, 추천의향의  4개 모든 항목에서 다른 두 군집보다 높은 점수를 가집니다. 따라서 이 군집에 포함된 기업들은 창업기업 홍보마케팅 지원사업에 대한 전체적 만족도가 높음을 알 수 있습니다. 군집2는 4개 항목 모두에서 전체적으로 낮았습니다. 특히 활용도와 만족도는 음수를 보이고 있어 이 기업들은 홍보마케팅 사업에 대한 활용도 및 만족도가 매우 낮았고 지속적 참여의사 및 추천의향은 조금 있는 것으로 나타났습니다.

군집3은 군집2보다 4개 항목에서 모두 부정적인 수치를 보였습니다. 이를 통해 이 군집에 속한 기업들은 창업기업 홍보마케팅 지원 사업에 대한 만족도가 전체적으로 매우 낮다고 볼 수 있습니다.


 


3. 연관분석 사례

 

‘데이터마이닝을 활용한 소아 족부 질환 연관성 분석’ 사례를 통해 연관분석 사례에 대해  알아보겠습니다. 족부 클리닉에 저장된 소아 족부 임상데이터를 바탕으로 연관분석 기법인 선험적  알고리즘을 사용하여 족부 질환 관련 규칙을 도출함으로써 의미있는 지식을 발견하고자 한 것이  이 연관성 분석 사례의 의의입니다. 또한 이 연관성 분석 사례의 조건은  J시에 위치한 J족부 클리닉의  환자 중 수집된 125명의 초진 족부 임상 데이터를 활용하여, 데이터베이스를 구축하였고 분석 대상  자료는 1개 이상의 질환을 진단 받은 환자의 모든 진단 정보를 추출한 113명의 표본 데이터를 최종  분석에 이용하였습니다.




그리고 자료 분석을 위해 선험적 알고리즘을 적용하였고, 최소 지지도는 20 %, 최소 신뢰도는 85%로  설정하였습니다. 선험적 알고리즘을 적용한 결과, 경골 내회전과 평발이 가장 많이 동반되는 것으로  나타났고, 남자 소아보다 여자 소아에게서 경골 내회전과 평발의 동반이 조금 더 나타나는 것으로  나타났습니다.