1. 데이터마이닝의 정의
“Mine” 이란 의미는 채광하다 즉, 거대한 더미 속에서 가치 있는 무언가를 캐낸다라는 것이다. 즉, 데이터마이닝이라는 것은 방대한 양의 데이터 속에서 쉽게 드러나지않는 유용한 정보를 찾아내는 과정이라고 말할 수 있다.
예를 들어 정보화 사회에 따라 병원에서는 처방전달시스템, 의무기록전산화로 방대한 양의 데이터가 축적되어 있는데 이들 데이터 속에서 의학연구나 병원경영에 유용한 정보를 찾아내는 것을 보건분야에 있어서의 데이터마이닝이라 할 수 있다. 예컨대 폐렴 환자들의 진료데이터를 이용하여 재원일수의 결정요인을 분석한 결과 재원일수가 긴 이유는 각종 검사결과가 늦게 나오거나 협의진료에 대한 회신이 늦기 때문이라는 것을 알 수 있었다. 이 이야기는 너무나 당연하게 들릴 수 있다. 그러나 과거에 병원전산시스템이 구축되지 않았을 때는 의료서비스 관리 차원에서 재원일수의 결정요인을 분석하려고 하면 차트를 보고 관련변수를 컴퓨터에 입력한 후 통계기법을 이용하여 분석을 하여야만 하기 때문에 의학연구나 병원경영에 필요한 정보를 얻기가 용이하지 않았다. 그러나 이제 병원전산화의 발전으로 환자의 진료정보가 이미 컴퓨터에 보관되어 있음에 따라 폐렴환자에 대한 검사결과가 몇 일만에 나오고, 협의진단에 대한 회신이 몇 일만에 이루어지는 지를 쉽게 알 수 있다. 즉, 과거처럼 새로이 데이터를 입력하지 않고 이미 기존에 구축되어 있는 데이터를 이용하여 의학연구나 병원경영에 중요한 정보를 얻을 수 있는 것이다. 즉, 병원의 데이터를 지식으로 전환하여 지식경영을 할 수 있는 시대가 도래하게 되었다. 그러나 문제가 되는 것은 병원정보시스템에 보관되어 있는 협의 진료 일이나 검사일과 같은 데이터는 분석목적을 위해 구축되어 있는 것이 아니라 단순 업무처리를 위해 구축되어 있는 것이어서 분석목적의 데이터로는 적절하지 못한 경우가 많다. 이러한 문제점을 해결하기 위해 대두된 것이 데이터마이닝이다. 즉, 단순업무 처리를 위해 보관되어 있는 데이터를 분석목적에 적합한 데이터형태로 변화하여 분석하도록 해주는 것이 데이터마이닝이라 할 수 있다. 이제 병원과 같은 기관에도 방대한 양의 데이터가 축적되어 있고, 또한 다양한 형태로 분석될 수 있으므로 데이터분석업무를 해결하기 위해서는 통계전문가가 많이 필요하며 필요한 경우 일반 병원 업무 종사자들과 같은 현장 업무자들이 직접 데이터분석을 할 필요성이 대두되었다.일반 사용자가 데이터분석을 하기 위해서는 좀 더 손쉬운 방법으로 데이터분석이 가능하여야 하는데 이를 위해서는 데이터분석을 보다 쉽게 할 수 있도록 해주는 새로운 기법이 필요하게 되었는데 이를 충족시켜 주기 위해 나온 것이 데이터마이닝이라 할 수 있다.
즉, 데이터마이닝이란 일반업무 목적을 위해 구축된 데이터를 연구나 지식경영을 목적으로 분석할 수 있도록 데이터를 쉽게 정제하고, 통계전문가가 아니더라도 쉽게 분석할 수 있도록 해주는 기법이라고 할 수 있다. 따라서 데이터마이닝이란 새로이 나온 개념이라기보다는 기존의 데이터정제작업과 통계처리방법을 보다 쉽게 해주는 방법이라고 할 수 있다. 즉 데이터마이닝의 장기적인 목표는 어떤 조직이 자체적으로 정보를 생성하고 이를 적절하게 활용할 수 있는 조직으로 만드는 것이다.
데이터마이닝의 주요 기법은 대부분이 통계기법을 근거로 한 것이어서 데이터마이닝과 통계기법을 분리하여 생각할 수 없다. 단지 기존의 통계기법을 사용하여 필요한 곳에 쉽게 사용할 수 있도록 만든 것이 데이터마이닝 기법이라 이해해도 큰 문제는 없을 것이다. 이러한 데이터마이닝은 다음과 같은 특징을 가지고 있다.
※ 데이터의 특징
① 대용량의 자료 : 데이터마이닝은 대용량의 자료(Observational Data)를 사용한다.
- 실험자료: 가설검정 등 구체적 문제에 답하기 위해 요인을 통제하고 조작함
- 관측자료: 시간에 따라 비계획적으로 축적되어 자료분석을 위해 수집되지 않았음
② 컴퓨터 중심적 기법(Computer-Intensive Algorithms) :
데이터마이닝은 기존의 표본에 의한 통계적 추론에서 정보기술의 발전과 함께 방대한 데이터를 처리할 수 있는 컴퓨터의 능력을 활용한다.
③ 다차원적 계보(Multidisciplinary Lineage) :
데이터마이닝은 통계학, 데이터베이스, 패턴인식, 기계학습, 뉴로컴퓨팅, 인공지능, KDD의 여러 분야를 망라한다.
④ 경험적 방법(Adhockery Method) :
이론적 원리보다는 경험에 기초하였기 때문에 데이터마이닝 기법은 수리적으로 밝혀지지 않은 것이 많다. (데이터가 현실을 모두 반영하는 것은 아니다.)
⑤ 일반화(Generalization) :
일반화란 예측모형(Prediction Model)이 새로운 자료(New Data)에 얼마나 잘 적용되도록 하는가 이다. 추론(Inference)이 통계적 모형의 초점이라면 데이터마이닝의 초점은 일반화라고 할 수 있다.
2 . 데이터마이닝의 역할 및 기법
데이터마이닝으로 무엇을 할 수 있을까 ? 데이터마이닝에 대해서 지나친 기대를 하는 사람은 마치 데이터마이닝이 마케팅 분야의 만병 통치 약으로 생각할 수도 있다.그러나, 실제로 데이터마이닝은 제한된 조건 하에서 제한된 업무만을 수행할 수 있다. 그렇지만 희망적인 것은 지식, 경제, 경영에 관한 대부분의 문제들이 다음과 같은 6개의 업무 영역으로 구분될 수 있다는 것이다.
▲ 분류(Classification)
▲ 추정(Estimation)
▲ 예측(Prediction)
▲ 유사 집단화(Affinity Grouping)
▲ 군집화(Clustering)
▲ 서술(Description)
단 하나의 데이터마이닝 도구나 기술이 모든 업무에 똑같이 적용될 수는 없다. 여기서는 위의 6개 업무 영역을 정의하고 간단한 예를 들어 설명하고자 한다.
▲ 분류
분류(Classification)는 데이터마이닝 작업에서 가장 보편적이라 할 수 있다. 우리는 생물을 문, 종, 속으로 분류를 하고 사물을 원소에 따라 구분하고, 개를 혈통에 따라, 사람을 인종으로 분류하는 것처럼 세상을 이해하고 교류하면서 살아가기 위해 꾸준히 분류를 시도하여 왔다. 사실, 점수를 매기고 등급으로 나누는 것도 분류에 속할 수 있다. 이런 맥락에서 보면 분류라는 것은 이미 인간생활과 오래 전부터 밀접한 관계를 맺어 왔다고 볼 수 있다. 분류라는 것은 어떤 새로운 사물이나 대상의 특징을 파악하여 미리 정의되어 있는 분류코드에 따라 어느 한 범주에 할당하거나 나누는 것을 의미한다. 이러한 목적을 위하여 대부분의 분류 대상들은 이미 데이터베이스에 레코드 형태로 입력되어 있기 때문에 이를 분류한다는 것은 각각의 레코드를 이미 정의되어 있는 분류 기준에 따라 한 범주로 할당하고 이를 나타내기 위하여 하나의 분류변수를 만들어 각각의 레코드에 추가하는 것을 말한다. 분류업무는 잘 정의된 분류코드나 이미 분류가 끝난 사례들로 이루어진 분석용 자료에 따라 특징지어 진다. 바로 이러한 업무는 아직 분류하지 않은 자료에 적용하여 분류할 수 있는 어떤 종류의 모형을 구축하는 것을 말한다.
이러한 분류 기법을 사용하여 분류작업을 필요로 하는 일을 예로 들 면 다음과 같다.
- 키워드에 따라 뉴스 기사를 분류하는 방법
- 신용카드 신청자를 신용등급(낮음, 중간, 높음)에 따라 분류하는 방법
- 전화번호를 전화번호와 팩시밀리 번호로 분류하는 방법
- 보험 청구를 정상적인 것과 사기로 분류하는 방법
- 산업 코드를 업종에 따라 분류하는 방법
위 예에서 분류를 위한 그룹의 수는 제한되어 있지만 어떤 레코드라도 반드시 어느 한 그룹에 속하기를 기대한다. 이러한 분류작업을 위해서 많이 사용되는 방법으로는 의사결정나무분석(Decision Tree Analysis), 사례기반추출(MBR, Memory-Based Reasoning) 등이 있으며 연계분석(Link Analysis)도 특수한 환경 하에서 분류에 유용한 기법이 될 수 있다.
▲ 추정
분류는 목표변수가 이산형인 것을 주로 다룬다. 예를 들면, 어떤 결과가 '예' 혹은 '아니오' 라든가, 종교를 묻는 질문에서 '기독교', '불교' 혹은 '천주교' 처럼 목표변수가 범주형으로 주어진다. 그런데 추정은 결과가 연속형 값을 갖는 경우를 주로 다룬다. 어떤 주어진 입력변수로부터 수입, 키 혹은 은행잔고와 같은 미지의 연속형 변수에 대한 값을 알아내기 위하여 추정(Estimation)을 이용한다. 실제로 추정은 분류작업을 하는데 자주 이용된다. 예를 들어 카드요금 청구서 봉투에 스키부츠 광고를 싣고자 할 때 고객의 성향을 알면 더 좋은 결과를 얻을 수 있다. 이때 카드소지 고객이 스키를 타는지 타지 않는지 혹은 스키에 대한 성향 점수를 추정하여 부츠를 살 잠재 고객인지 아닌지를 분류를 하게 된다. 그리고 만약 각각의 추정값이 크기 순서로 나열되어 있다면 이용가치가 더욱더 있을 것이다. 예를 들어 500,000명에게 우편 홍보물을 보내고자 한다면 스키를 타는 사람으로 분류된 1,500,000명의 잠재 고객 중 랜덤하게 추출하여 광고물을 발송하는 것 보다 성향점수가 높은 고객 500,000명에게 보내는 것이 더 효율적일 것이다. 추정이 사용되는 또 다른 예로는 자녀 수, 한 가계의 수입, 고객의 가치, 신용카드 결재 계좌를 바꾸게 될 고객을 예측하는 문제 등이 있다. 이 추정작업에 신경망이 좋은 방법으로 사용되고 있다.
▲ 예측(Prediction)
"어떤 개체가 장차 어디로 분류될까 ?" 혹은 "장차 우리의 고객이 될 확률은 얼마일까 ?" 처럼 예측은 단지 미래에 대한 것이라는 것만 제외하면 분류나 추정과 같다. 분류와 추정에 사용되는 방법들이 시간 순으로 정리된 예제 자료를 통하여 미래를 예측할 수 있는 모형을 만드는데 사용될 수 있다. 즉, 과거와 현재의 자료를 이용하여 미래를 예측하는 모형을 만든다는 것이다.
슈퍼마켓에서 함께 구입 되는 품목을 분석하는 장바구니분석도 과거와 현재의 자료를 통해 미래의 구입품목과 성향을 분석하는 방법으로 사용될 수가 있다. 또한 예측작업에 관한 예는 어떤 고객이 6개월이내에 이탈 할 것인가를 예측 하는 문제, 전화의 유료서비스를 사용하게 될 고객을 예측하는 문제, 신용카드 결재 계좌를 바꾸게 될 고객을 예측하는 문제 등이 있다. 장바구니분석(Market Basket Analysis), 사례기반추론(MBR), 의사결정나무모형, 인공 신경망 등이 예측에 많이 사용되는 방법들이다.
▲ 유사 집단화
유사 집단화(Affinity Grouping)란 유사한 성격을 갖는 사물이나 물건들을 함께 묶어주는 작업을 말한다. 이 작업의 가장 전형적인 예는 슈퍼마켓에서 한 고객의 장바구니에 함께 담겨있는 물건을 분석하는 것에서 찾을 수 있다. 따라서 일명 장바구니 분석(Market Basket Analysis)이라고도 한다. 소매점에서는 카타로그나 혹은 진열대에 어떠한 품목을 같이 진열할 것인가를 계획 할 때 이 작업을 사용하게 된다. 그렇게 하여 함께 구매되어지는 물건은 같은 진열대 혹은 같은 장소에서 찾을 수가 있도록 한다. 또한 이 작업은 끼워팔기의 기회를 제공하고 매력적인 상품 꾸러미나 서비스 패키지를 계획하는데도 이용된다.
유사 집단화는 자료를 이용하여 규칙을 생성하는 간단한 한 방법이다. 만약 고양이 먹이와 새끼 고양이의 깔개가 동시에 판매되는 사례가 자주 있었다면 우리는 다음과 같은 연관규칙을 만들 수 있다. “고양이 먹이를 구매하는 사람이 깔개를 구매할 확률은 이고 깔개를 구매하는 사람이 고양이 먹이를 함께 구매할 확률은 이다”.
▲ 군집화
군집화(Clustering)란 이질적인 원소로 구성되어 있는 모집단을 여러 개의 동질적인 부그룹 혹은 군집(Cluster)로 나누어 세분화하는 것을 말한다. 군집화(Clustering)와 분류(Classification)의 다른점은 군집화는 미리 정의된 부집단이 없다는 것이다. 그런데 분류는 사전에 어느 집단에 속하는지 밝혀져 있는 자료를 근거로 개발된 모형을 바탕으로 새로운 원소나 레코드를 미리 정의된 집단에 할당함으로써 모집단을 나누는 방법이다. 군집화에서는 사전에 정의된 부집단이나 예제 자료가 있을 수 없다. 단지 그때 그 때 자기들끼리의 유사성에 따라 나누어진다. 군집화를 통하여 나누어진 각각의 부집단에 어떤 의미를 부여하는 것은 분석자 자신에 달려있다. 예를 들어 증상에 따라 나누어진 군집들은 각기 서로 다른 질병을 나타낼 수 있다. 나무 잎이나 줄기의 속성에 따라 나누어진 군집들은 나무의 종류가 서로 다르다는 것을 의미할 수 있다.
군집화는 가끔 다른 데이터마이닝이나 모델링의 선행 작업으로 이루어진다. 예를 들어 군집화는 시장 세분화 과정의 첫번째 단계의 작업이 될 수 있다. 어떤 판촉활동 혹은 홍보전략이 모든 고객에게 효과가 있을까를 생각하는 대신에 고객을 구매습관에 따라 여러 개의 부집단으로 나눈 다음 각 부집단에 대해 어떤 판촉활동이 최선일까를 생각하는 것이 더 효과적일 것이다.
▲ 서술(Description)
때때로 아주 복잡한 데이터베이스에 내재하는 사람이나 제품 혹은 데이터를 생성한 과정에 대하여 우리의 이해를 증진시킬 수 있는 뭔가를 찾아 서술하는 것이 데이터마이닝의 목적이 되는 경우가 가끔씩 있다. 어떤 행위에 대하여 서술을 잘하면 그 자체가 바로 훌륭한 설명이 된다는 것은 당연하다. 훌륭한 서술은 적어도 설명을 어디에서 찾기 시작해야 하는지를 알려준다. "여성이 민주당을 아주 더 많이 지지한다."라는 남녀간의 인식차이에 대한 간단한 서술은 하나의 좋은 예인데, 이 간단한 서술이 공직에 출마하는 후보뿐만 아니라 저널리스트, 사회학자, 정치학자들에게 많은 관심을 불러 일으키고 연구대상을 제공해 주었다.
이러한 일들을 수행하는데 업무에 따라 그 기법을 달리하기도 하지만 주로 사용되는 기법으로는 장바구니분석, 군집분석, 연계분석, 의사결정나무 분석, 신경망 분석 등이 있다. 이러한 방법들에 관해서는 이론적인 설명과 함께 예제를 통해 앞으로 계속되는 다른 장에서 설명하고자 한다.
3. 데이터마이닝의 효율적인 적용과정 (SEMMA)
2절에서 열거한 데이터마이닝을 필요로 하는 많은 분야에 적절한 분석기법을 활용하여 효율적인 적용을 위해서는 아래와 같은 SEMMA 과정을 거치게 된다.
▲ Sampling (자료수집) 데이터마이닝은 대체로 수십 메가에서 수백 기가에 이르는 대용량의 데이터를 기반으로 한다. 그러나 방대한 양의 데이터를 살피는 것은 시간의 측면에서만 보아도 많은 인내를 요하게 되는 작업이 될 수 있다. 이때 고려하여야 하는 과정이 바로 샘플링이다. 샘플링이란 방대한 양의 데이터에서 모집단을 닮은 작은 양의 데이터를 추출하는 것이다.
▲ Exploration(자료탐색) 여러 측면에서 데이터 탐색을 통해서 기본적인 정보를 검색하고 유용한 정보를 추출하는 기법들을 제공한다.
▲ Modification(자료 변환) 탐색 단계에서 얻어진 정보를 기반으로 모형화 단계에서 모형의 성능을 향상시키기 위해, 그리고 데이터가 가지고 있는 정보를 효율적으로 사용할 수 있도록 변수변환, 수량화, 그룹화 같은 방법을 통해서 데이터를 변형하고 조정한다.
▲ Modeling(모형화) 데이터마이닝의 핵심이라고 할 수 있는 모형화 단계는 이전 단계에서의 결과들을 토대로 하여 분석목적에 따라 적절한 기법을 통해서 예측모형을 찾아내는 방법들을 찾아낸다.
▲ Assessment(평가) 모형화를 통해 얻어진 결과의 신뢰성, 타당성, 유용성 등을 평가할 수 있다. 평가단계에서는 리프트도표(Lift Chart), ROC(Receiver Operating Characteristic)곡선, 이익도표(Profit Chart), ROI(Return On Investment) 곡선 등 제공되는 다양한 평가도구를 이용한다.
4. 데이터마이닝의 관련분야
데이터마이닝은 다음과 같은 분야들과 서로 밀접한 관계를 갖고 함께 발전해가고 있다.
▲ KDD (Knowledge Discovery In Database)
데이터마이닝은 KDD, 즉 지식발견의 전 과정인 데이터 선정, 정제, 코딩 및 여러 가지 패턴 발견 중 ‘탐사’단계에 해당되는 방법론이라고 할 수 있다.
▲ 패턴인식(Pattern Recognition)
패턴인식 기술은 다양한 형태의 데이터에 포함되어 있는 패턴정보를 자동으로 추출하여 응용하는 기술로서 크게는 컴퓨터 응용 소프트웨어 기술, 작게는 인공지능 기술로 분류된다. 컴퓨터가 발명되면서 연구되기 시작한 이 분야의 기술은 인간의 시청각을 통한 인지능력을 컴퓨터 상에 모방하는 것을 목표로 한다. 인간에 있어서 패턴 인식 능력이란 넓은 의미에서는 다양한 감각 기관을 통하여 전달되는 정보를 처리, 분석, 종합하여 외부 현상을 파악하고 이해하는 기능을 일컫는다. 또 좁게는 기억하고 있는 패턴과 동일 또는 유사한 형태의 존재유무를 알아내는 능력을 말한다. 문자의 형태를 인지하여 문장의 의미를 파악한다거나 시시각각으로 변하는 경제지표를 분석하여 미래를 예측하는 것들이 대표적인 패턴인식의 능력이다.
▲ 기계학습 알고리즘(Machine Learning Algorithm)
자연 언어 처리 시스템에 인간의 사고능력에 해당하는 추론 기능을 추가하여, 이용하기 편리하면서도 수준 높은 처리가 가능한 지적 시스템을 만들기 위해 연구하여 만든 알고리즘이 기계-학습 알고리즘이다.
▲ 전문가시스템(Expert System)
질병의 진단이나 지질 자료 등을 분류하는데 사용되는 특정된 분야에 국한된 전문가의 지식을 매우 간단한 ‘IF-THEN’규칙을 사용하여 표현될 수 있는데 이 역시 기계-학습 알고리즘을 근간으로 한다.
▲ 통계학(Statistics)
회귀분석, 판별분석, 군집분석 등 주로 세가지 기법들이 쓰여진다. 회귀분석은 본질적으로 독립변수(또는 설명변수, 원인변수)라 불리는 하나 또는 둘 이상의 변량들에 기초하여 종속변수(또는 결과변수)에 미치는 영향력의 크기를 알아보려고 하는 분석 기법이다. 판별분석은 명목자료로 된 종속변수의 집단을 구분하는데 사용되는 통계 분석 방법이다. 종속변수를 추정하는데 있어서 독립변수를 전부 사용할 수도 있지만 상대적 중요도가 높은 몇 개의 변수를 판별변수로 따로 이용하기도 한다. 군집분석이란 군집 대상들이 지니고 있는 여러 가지 유사성을 이용하여 동질적인 집단끼리 묶어 주는 방법이다. 이렇게 함으로써 어떤 변수에 대해서 응답한 다수의 대상들을 몇 개의 동질화 된 집단으로 집단화하고 동일집단 내에 속해 있는 응답자들의 공통된 특성들을 조사하는데 이용된다. 군집분석에 사용되는 변수들은 숫자형 변수여야 한다.
▲ 데이터 웨어하우징(Data Warehousing)
데이터 웨어하우스는 운영 데이터로부터 추출된 데이터를 중앙으로 집중하여 저장한 것이다. 저장된 정보는 주제 중심적이고, 비휘발성이며 이력정보를 보유하므로 데이터 웨어하우스는 매우 방대한 데이터 집합을 보유하게 된다. 즉 데이터 웨어하우스는 데이터마이닝의 과정을 지원하는 최선의 구조이다.
▲ OLAP(Online Analytical Processing)
다차원 분석 시 사용되는 도구 이다. 다차원 분석이란 구역, 나이, 수입의 순서에 따른 영업 데이터를 요구(구역, 나이, 수입으로 구성된 3차원 분석)하고 바로 다음에 동일한 데이터를 저축과 나이 순으로 알아보고 싶어 하는데 이것은 대규모 데이터 집합을 온라인으로 사용하여야 한다. 데이터를 보통 메모리에 특수한 다차원 형식으로 저장하는데 데이터를 갱신할 수는 없지만 어떠한 종류의 질문이라도 제시할 수 있다. 따라서 OLAP는 데이터마이닝에서 중요한 단계가 될 수 있다.
지금까지 정보시스템은 기업체의 운영절차를 주로 지원하기 위해 구축, 운영되어 왔으나 데이터 웨어하우징과 데이터마이닝은 조직의 정보를 완전히 새로운 방식으로 접근하여 전략의 원천으로 바라보게 하고 있다.
* 자료출처-데이터마이닝 이론과 실제(저자 최국렬 외 )
댓글 없음:
댓글 쓰기