본문 바로가기

데이터과학/data mining

데이터마이닝의 개요 (2)

지난번 포스팅에 이어 '데이터마이닝'의 연구분야 및 기법에 대한 내용입니다.


데이터마이닝의 연구분야
KDD, 기계학습, 패턴인식, 뉴로컴퓨팅, 통계학

데이터마이닝 활용분야
CRM, 신용평가, 품질개선, 부정행위 적발, 이미지 분석, 생명정보학

고객관계관리에서의 전략
목표마케팅 (target marketing)
고객 세분화 (segementation)
고객 이탈분석 (churn analysis)
교차분석 (cross analysis)
시장바구니 분석 (market basket analysis)

교차분석(Crosstabulation Analysis)
범주형 자료(명목척도)를 두 개 혹은 그 이상의 변수에 대한 결합분포(결합빈도)를 나타내는 분할표를 보여주는 것. 즉, 특정 속성에 대하여 집단별로 어떤 관련성이 있는지를 알아보기 위해서 사용하는 분석방법이다. 교차분석은 기대빈도에서 관측빈도가 얼마나 벗어낫는지의 총합으로 기대빈도와 실제관측빈도간의 차이를 비교하며 독립성 또는 연관성을 판단하는 방법은 카이제곱검정(χ2 Chi-square test)을 이용한다.

예를들면, '20-40대 청장년층의 노후생활방식'에 대한 교차분석을 생각해볼 수 있습니다.
범주형 자료 : '자녀와 함께 살고싶다', '따로살고싶다', '양로원시설에서 살고싶다'의 척도
변수 : '남/녀' 또는 '기혼/미혼' 등의 결합분포

연관규칙, 분석 (Association Rule, Analysis)
예를들어, 이마트의 구매거래를 통하여 구매상품에 대한 연관규칙을 추출하고자 할 경우에, 하루에도 수천 수만건의 거래가 이루어지는데, 그 모든 거래내역을 분석하는 것은 무의미 하고 어느정도 유의미한 거래내역 중에서 일부에 대하서만, 그것도 정확할 것 같은 거래내역들만 분석하고자 할 때에 적어도 어느정도 이상 팔리고, 이 물건을 샀을 때에 다른 물건도 샀던 그러한 물건들을 추려내고자 할 때에 사용되는 분석 방법입니다.

이러한 연관분석법에 가장 일반적으로 사용되는 알고리즘이 Apriori algorithm 이구요, 이를 설명하기 위해 필요한 지표가 min_sup, min_conf 값을 이해하고 있어야 합니다.

Support (A->B) : 물건을 구매한 전체 거래 내역 중에서 A 또는 B 라는 물건을 살 확률
Confidence (A->B) : A라는 물건을 산 거래 중에서 B라는 물건을 살 확률

즉, min_sup = 25%, min_conf = 75% 라고 한다면, 모든 물건 거래내역 중에서 적어도 구매 수가 25%정도는 되고, 특정 물건을 샀을 때에 또 다른 물건을 살 확률이 75% 이상인 거래만 뽑는다는 의미입니다. 그래서 이러한 Apriori 알고리즘은 이러한 지표를 기준으로 다양한 물건들의 결합조건 중에서 유의미한 상위 몇 개의 구매관련 정보를 추출하는 과정입니다.

예를들면, min_sup와 min_conf 를 만족하는 거래 내역이 있다고 가정을 하면
거래내역 : (커피, 설탕), (초코렛, 설탕), ... , (사과, 오징어)
겹치는 항목 : (커피, 설탕), (초코렛, 설탕)
병합된 항목 : (커피, 초코렛, 설탕)
다시 병합된 항목 들끼리 이러한 과정을 반복하게 되면, 유의미한 규칙을 발견할 수 있게되고, 그러한 규칙이 연관규칙 즉, Association Rule 입니다.

기계학습 (Machine Learning)
이러한 다양한 방법을 통해서 데이터를 분석할 수가 있구요, 결국 컴퓨터에게 내가 분석하고 싶은 일을 시켜야만 하는 상황이 됩니다. 즉, 결국 컴퓨터에게 사람이 수작업을 하던 작업을 가르치는 과정이라고 볼 수 있습니다. 즉 기계학습시키는 것이지요. 이러한 기계를 가르치는데는 교사학습비교사학습 이렇게 크게 두 가지 방법이 있습니다.

Supervised learning (교사학습) - Classification, Regression
'이건 이거고, 저건 저거야...' 하고 하나 하나 가르치는 방법입니다. 이러한 경우를 분류(Classification)를 하는 것을 말하는 것이구요, 아래와 같은 학습에 필요한 예제 샘플을 제공하여 학습시킬 수 있습니다.
나이 '27세', 성별 '남자', 직업 '가지고', 취미 '게임' --> '게임'을 산다
나이 '27세', 성별 '남자', 직업 '안가지고', 취미 '게임' --> '게임'을 안산다
나이 '37세', 성별 '남자', 직업 '가지고', 취미 '게임' --> '게임'을 안산다
나이 '27세', 성별 '여자', 직업 '가지고', 취미 '게임' --> '게임'을 산다
여기서 나이, 성별, 직업, 취미속성이 되구요, 게임의 구매여부클래스가 됩니다.
향후에 4가지 속성이 주어졌을 때에 높은 확률로 게임의 구매여부를 판단할 수 있도록 학습이 가능합니다.

Unsupervised learning (비교사학습) - Clustering, Assocation Rule
'음... 나도 잘 모르겠으니 일단 알아서 한번 해봐'하는 방법입니다. 이는 군집화(Clustering)가 하나의 예가 될 수 있습니다.
키가 '130'이고, 성별은 '남자'이고 동양인이다
키가 '150'이고, 성별은 '여자'이고 서양인이다
키가 '120'이고, 성별은 '여자'이고 동양인이다
키가 '140'이고, 성별은 '남자'이고 동양인이다
이런식으로 교사학습과는 다르게 마지막의 클래스가 없습니다. 다만 속성들간의 거리가 가까운 것들끼리 묶어가는 것입니다. 여기서는 숫치로 표현되는 것이 '키'밖에 없는 것 처럼 보이지만, 실제로 '남자', '여자'를 1 과 0로 동양인, 서양인을 1과 0으로 표현할 수 있습니다. 이렇게 하나씩 하나씩 묶어서 결국에는 몇 개의 또는 몇 십개의 군집으로 만들어 가는 과정을 Clustering 이라고 합니다.


[ 참고링크 ]
ACM SIGKDD(Special Interest Group on Knowledge Discovery in Data and Data Mining)
최근 데이터 마이닝에 대한 동향 및 관련 이슈들을 확인하실 수 있습니다.

'데이터과학 > data mining' 카테고리의 다른 글

THINK QUARTERLY  (0) 2011.08.19
Strata 2011: Hilary Mason, "What Data Tells Us"  (0) 2011.02.11
데이터마이닝의 개요 (1)  (0) 2008.02.26