530 likes | 911 Views
- Data Mining Techniques. Site Research. Ⅰ. 데이터마이닝. 1. 데이터마이닝이란 ?. Data mining is the exploration and analysis, by automatic or semiautomatic means, of large quantities of data in order to discover meaningful patterns and rules. 대용량의 데이터로부터 이들 데이터 내에 존재하는 관계 , 패턴 , 규칙 등을 탐색하고
E N D
- Data Mining Techniques Site Research
1. 데이터마이닝이란 ? Data mining is the exploration and analysis, by automatic or semiautomatic means, of large quantities of data in order to discover meaningful patterns and rules. 대용량의 데이터로부터 이들 데이터 내에 존재하는 관계, 패턴, 규칙 등을 탐색하고 찾아내어 모형화 함으로써 유용한 지식을 추출하는 일련의 과정들.
2. 데이터마이닝 과정 데이터 획득 데이터 정제 및 변환 데이터 분석 Screen DW 지식 발견 일반화 모형구축 및 평가
3. 데이터 마이닝의 유용성 Task Technique 판 별 (Classification) Decision Tree, Memory-based reasoning, Link analysis 추 정 (Estimation) Neural Network Decision Tree, Memory-based reasoning, Link analysis, Neural network 예 측 (Prediction) 유사그룹 (Affinity Group) Association rules 군 집 (Clustering) Cluster analysis 기 술 (Description) Market basket analysis
4. 데이터 마이닝 방법론 가설 검정 (Hypothesis testing) 지식 발견 (Knowledge discovery) • Top-down approach • Hypotheses dictate the data • to be analyzed • Generate good ideas • Determine what data would • allow these hypotheses to be • tested • 3. Locate the data • 4. Prepare the data for analysis • 5. Build computer models based • on the data • 6. Evaluate computer models to • confirm or reject hypotheses • Bottom-up approach • The data suggests new hypotheses to test Directed method - to explain relationships 1. Identify sources of reclassified data 2. Prepare data for analysis 3. Build and train a computer model 4. Evaluate the computer model • Undirected method • to recognize relationships • Identify sources of data • Prepare data for analysis • Build and train a computer • model • 5. Evaluate the computer model • 6. Apply the computer model to • new data • 7. Identify potential targets for • directed knowledge discovery • 8. Generate new hypotheses to • test
5. 데이터 마이닝 효과측정 기술모델 측정 (Measuring descriptive model) MDL(Minimum Description Length) 예측모델 측정 (Measuring predictive model) 판별, 예측 : 오분류율(Error rate) 추정 : 표준편차(Standard deviation) 연관성 : 신뢰도(Confidence), 향상도(Support) 군집 : 거리(Distance) 결과 측정(Measuring model) Lift ROC 도표 Response threshold 효과측정(Measuring impact) LTV(Lifetime Value)
6. 데이터 마이닝 기법 시장 바구니 분석 (Market basket analysis) 동시에 발생한 사건들(transaction)중에 항목들의 군집화 (clustering of items)를 위한 분석방법 (Association rules) 기계적 군집 발견 (Automatic cluster detection) 데이터 내에서 사전에 알려지지 않은 유사성(similarity)을 찾는데 사용되는 방법 신경망 분석 (Artificial neural network) 데이터 내에서 반복적인 학습과정을 통해 내제되어 있는 패턴을 찾아내는 분석방법 의사결정나무 (Decision tree) 의사결정규칙을 나무구조로 표현하여 분류 (classification)와 예측(prediction)을 수행하는 분석방법 G.A. (Genetic algorithm) 연결고리 분석 (Link analsys)
1. 시장 바구니 분석 - 연관성 규칙 시장 바구니 분석은 연관성 규칙을 통해서 하나의 거래나 사건에 포함되어 있는 둘 이상의 품목들의 상호관련성을 발견하는 것 연관성 규칙의 일반적인 형태 : 조건과 반응(if-then) 의미 있는 연관성 규칙 발견을 위한 평가도구 : 지지도(support), 신뢰도(confidence), 향상도(lift) 규칙 ‘If A then B’의 지지도(support) = P(A and B) / N = (A 와 B를 동시에 포함하는 거래의 수) / 전체 거래수 지지도는 두개의 항목이 동시에 일어날 확률을 나타낸다. ‘If A then B’ 의 규칙의 지지도 = ‘If B then A’의 규칙의 지지도 규칙 ‘If A then B’의 신뢰도(confidence) = P(B|A) = (A 와 B를 동시에 포함하는 거래의 수) / 품목 A를 포함하는 거래수 규칙 ‘If A then B’의 신뢰도 규칙 ‘If B then A’의 신뢰도 규칙 ‘If A then B’의 향상도(lift) = P(B|A)/P(B) = (A와 B를 동시에 포함하는 거래 수)/(A를 포함하는 거래수*B를 포함하는 거래수) 이는 실제의 신뢰도를 독립성 가정하에서 나눈 값이며 이는 또한 실제의 지지도를 독립가정하에서의 지지도로 나눈 값과 동일하며, 의미 있는 연관성 규칙이 되려면 리프트값이 1이상이어야 한다.
2. 시장 바구니 분석 - 연관성 예제1 고객의 토핑 추가 LIST
3. 시장 바구니 분석 – 연관성 예제2 연관성 분석 모드 : By context | 연관성분석에 사용된 항목들의 최대 항목의 수 : 2 | 최저 신뢰도 : 30% [ 제품구입 결과에 대한 연관성 분석 결과 ]
3. 시장 바구니 분석 – 연관성 예제2 연관성 분석 모드 : By context | 연관성분석에 사용된 항목들의 최대 항목의 수 : 2 | 최저 신뢰도 : 30% [ 제품구입 결과에 대한 연관성 분석 결과 - 남자 ] [ 제품구입 결과에 대한 연관성 분석 결과 - 여자 ]
4. 시장 바구니 분석 – 연관성 예제3 연관성 분석 모드 : By context | 연관성분석에 사용된 항목들의 최대 항목의 수 : 2 | 최저 신뢰도 : 50% | 향상도 >1.11 [ 인터넷의 평소 사용용도에 대한 대한 연관성 분석 결과 ]
4. 시장 바구니 분석 – 연관성 예제3 연관성 분석 모드 : By context | 연관성분석에 사용된 항목들의 최대 항목의 수 : 2 | 최저 신뢰도 : 50% | 향상도 >1.13 [ 인터넷의 평소 사용용도에 대한 대한 연관성 분석 결과 - 남자 ]
4. 시장 바구니 분석 – 연관성 예제3 연관성 분석 모드 : By context | 연관성분석에 사용된 항목들의 최대 항목의 수 : 2 | 최저 신뢰도 : 50% | 향상도 >1.11 [ 인터넷의 평소 사용용도에 대한 대한 연관성 분석 결과 - 여자 ]
4. 시장 바구니 분석 – 연관성 예제4 연관성 분석 모드 : By context | 연관성분석에 사용된 항목들의 최대 항목의 수 : 2 | 최저 신뢰도 : 50% | 향상도 >1.11 [ 보유하고 있는 제품 또는 서비스에 대한 연관성 분석 결과 ]
1. 행렬도 분석 – 두 범주간의 관련성 행렬도(biplot)는 자료행렬에 대한 비정칙치 분해(singular value decomposition)를 통해 행그림과 열그림을 구하고 그들을 하나의 그림에 동시에 나타내어 그들의 관계를 파악하는 다변량 그래프적 분석기법 이다. 행렬도는 크게 요인행렬도(principal component factor biplot)과 주성분행렬도(principal component biplot)으로 구분되며, 요인행렬도는 변수간의 상관관계에 더 관심이 있을 때 사용할 수 있으며 주성분행렬도는 개체들간의 거리관계에 더 관심이 있을 때 사용할 수 있다.
2. 행렬도 분석 예제2 * 고객들이 이용하는 은행과 카드에 대한 주요 은행과 주요 카드사에 대한 빈도표임
2. 행렬도 분석 예제2 카드회사의 시장점유는 크게 국민카드, 외환카드, BC카드 3사로 형성되어 있으며 이들과 관련 깊은 은행들은 국민카드는 국민은행, 외환카드는 외환은행과 신한은행, BC카드(삼성,LG카드)는 기타 은행 (기업/제일/주택/한빛/농협/조흥은행)들과 높은 관계를 나타내고 있다.
1. 의사결정나무 – Decision Trees 의사결정규칙(decision rule)을 바탕으로 분류(classification)와 예측(prediction)을 하는 분석 방법이다. • 의사결정나무의 주요 알고리즘 CHAID(Chi-squared automatic induction, Hartigan, 1975) CART(classification and regression trees, Brieman, 1984) C4.5(?,Quinlan, 1993) • 범주형 목표변수에 적용되는 분리기준(splitting rule) 카이스케어 통계량 p-value 지니 지수(gini index) 엔트로피 지수(entropy index) • 연속형 목표변수에 적용되는 분리기준(splitting rule) • 분산분석 F 통계량 • 분산 감소량(variance reduction) • 의사결정나무 분석과정 • 의사결정나무의 형성 가지치기 타탕성 평가 해석 및 예측
2. 의사결정나무 – Decision Trees 뿌리 마디 (root node) : 나무구조의 시작으로 목표변수의 형태를 파악할 수 있다. 1번 1 yes no 중간마디 (internal node) : 나무구조에서 중간에 위치한 마디로서 이 마디는 다시 분리규칙에 의해 분리된다. 3번, 4번 마디 3 2 yes no 1 끝마디(terminal node, leaf) : 나무구조의 끝에 위치한 마디로서 끝마디의 개수만큼 분류규칙이 생성된다. 2번, 5번, 6번, 7번 4 7 yes no 부모마디(parent node)와 자식마디(child node) : 분리 되기 전의 마디를 부모 마디라 하고 분리되어진 2개 이상의 마디를 자식 마디라 한다. 4번 노드를 부모노드로 볼 때 이 마디의 자식마디는 5번과 6번이다. 6 5
3. 의사결정나무 예제 1 1 2 3 4 2 3 4 5 5
4. 의사결정나무의 모형 평가 도구 구축된 모형으로부터의 사후확률을 이용하여 구축된 모형에 대한 평가를 할 수 있는 도구들이다. 이 도구들을 이용하여 하나의 결과에 여러 개의 모형을 구축하고 가장 적정한 구축 모형을 선택할 수 있다. Lift Chart, Response Threshold Chart,ROC Chart Threshold-based Chart, Correct classification, Interactive Profit P_PAYSERVEyes : predicted payserve yes I_PAYSERVE : into payserve F_PAYSERVE : from payserve P_PAYSERVEyes가 분류기준 0.5를 넘으면 I_PAYSERVE가 YES로 분류된다.
5. Lift Chart - %Captured Response 리프트가 의미하는 것은 전체 모집단으로부터 우리가 원하는 치우친 샘플(biased sample)을 선택하기 위한 모델을 설정했을 때 관심이가는 그룹에 대한 변화의 정도를 나타낸다. Lift = P(관심이 가는 그룹에 속하는 사람 | 샘플) / P(관심이 가는 그룹에 속하는 사람 | 모집단) 리프트는 샘플의 크기에 대한 함수로써, X축은 모집단에서의 퍼센트를 나타내고, Y축은 관심이 가는 집단에 속한 사람들의 퍼센트를 나타낸다. 리프트차트에서 45도 각도의 직선은 모델이 고려되지 않았을 때의 반응을 나타내며, 다른 하나의 선은 모형이 고려되었을 때의 향상도, 즉 리프트를 나타낸다. 앞에서 설정한 나무모형을 이용하여 특정 고객에 대한 모형화를 할 경우 그렇지 않은 경우보다 더욱 효율적 이다는 것을 알 수 있으며, 특히 모집단의 상위 40%정도를 샘플링하여 특정 고객에 대한 판별을 할 경우 약 60%정도의 향상을 가져옴을 알 수 있다.
6. Lift Chart의 형태 – 누적(Cumulative) %Response %Captured Response %Lift Value %Profit
7. ROC Chart • ROC차트는 사후확률과 각 분류기준값에 의해 오분류행렬을 만든 다음, 특이도와 민감도를 통해 • 모형을 평가한다. • 사후확률은 구축된 모형을 통해 종속변수(목표변수)가 특정 범주에 속할 확률을 의미한다. • 분류기준값(cut-off, threshold)은 사후확률을 통해 각각의 관찰치를 특정 범주에 분류할 때 사용 • 하는 기준값으로 분류의 기준은 1/목표변수의 범주의 개수로 설정한다. • 오분류행렬이란 목표변수의 실제 범주와 모형에 의해 예측된 분류범주 사이의 관계를 나타낸다. • 민감도(sensitivity) = (실제 1, 예측 1)인 관찰치의 빈도 / 실제 1인 관찰치의 빈도 • 특이도(specificity) = (실제0, 예측0)인 관찰치의 빈도 / 실제 0인 관찰치의 빈도 특정고객에 대한 나무구조분석을 통해 모형이 모형을 설정하지 않았을 때 보다 효과적 임을 알 수 있다. 이러한 ROC차트는 빨간색 부분과 같은 형태를 가질수록 더욱 효과적이라는 의미를 가지게 된다.
8. Response Threshold Chart 사후확률과 분류기준값 및 목표변수의 특정 범주의 빈도를 이용하여 평가한다. Response Threshold 차트는 분류기준값이 변화함에 따라 모형의 분류결과가 얼마나 적은 변동을 가지는지를 파악하기 위해 사용한다. 옆의 그림은 사후확률이 대체로 0.6보다 작아 높은 분류기준값을 설정할 경우에는 분류를 제대로 하고 있지 못하며 의사결정을 위한 분류기준값이 0.3에서 0.5사이에 이루어져야 함을 보여주고 있다.
9. Response-based Chart Threshold-based 차트는 한 모형을 평가하기 위해 각 분류기준값별로 사후확률에 근거한 오분류행렬을 이용한다. 오분류표와 이익행렬(profit matrix)을 이용하여 수익을 나타내는 이익도표를 작성하며 위의 왼쪽그림은 분류기준값 을 0.5로 했을 때의 결과이며 오른쪽은 분류기준값으로 0.4를 했을때의 결과이다. 분류기준값을 변경하면서 비교해 보았을 때 이 값들 사이에서 분류기준값을 정하는 것이 타당하다는 생각을 할 수 있으며 추가적인 작업으로 correct classification을 고려할 수 있다.
10. Correct classification Correct classification은 정분류율, 민감도, 특이도를 도표화한다. 이 세개의 값을 모두 높게 하는 분류 기준값은 존재하지 않는다. 따라서 이 들 셋 중 어느 하나가 지나치게 크거나 작지 않은 분류기준값을 찾는 것이 바람직하다. 여기서는 대략 분류기준값으로 50을 고려할 수 있음을 보여주고 있다.
11. Interactive profit 지금까지 고려된 모형은 정분류에는 1을, 오분류에는 0이라는 이익이 발생한다는 가정하에서 모형이 구축되었으며 그 결과가 옆의 그림과 같다. 그러나 실제로 이익행렬은 달라 질 수 있으며 이러한 형태를 직접 고려 하여 그 형태를 보아가며 분류기준값을 설정 할 수 있다. 특정 제품 사용 여부에 대한 이익행렬을 Yes를 Yes로 에측하거나 No를 No로 예측 할 경우의 발생 이익을 1로 그렇지 않은 오분류에서의 발생 이익을 0으로 했을 때의 결과이다.
선형 회귀모형 로지스틱 회귀모형 1. 로지스틱 회귀분석 목표변수가 입력변수들에 의해서 어떻게 설명 또는 예측되는 지를 알아보기 위해 자료를 적절한 함수식으로 표현하여 분석하는 통계적 분석방법을 회귀분석이라 하며, 특히 목표변수가 이분형(dichotomous)을 가질 때의 회귀분석을 로지스틱 회귀분석이라 한다. 로지스틱 회귀분석의 목적 : 추정된 로짓모형을 이용하여 자료를 분류하기 위한 것이기 때문에, 일반적인 판별분석과 비교하여 로지스틱 판별분석이라 부르며, 목표변수에 대한 사후확률을 구하여 새로운 개체에 대한 판별을 한다. 사후확률
2. 로지스틱 회귀분석 예제1 여기서는 온라인 패밀리카드 고객자료를 이용하여 어떠한 변수들이 인터넷 상에서 상품을 구입하는데 영향을 주는 변수인지 모형화를 통해 살펴보고자 한다. 목적변수 – PAYSERVE(온라인 상품 구매 이용여부, 0:이용한 적 없다 1: 이용한 적 있다) 설명변수 – TYPE[인터넷이용형태, 0 : LIGHT USER, 1: HEAVY USER) SEX[성별, 1 : 남자, 2: 여자] MAR[결혼, 0: 미혼, 1: 기혼] I_PLACE[인터넷 주 이용장소, HOUSE(집), OFFICE(사무실), GAMEROOM(PC방), SCHOOL(학교)] COMPUTER[보유컴퓨터, DESKTOP, NOTEBOOK, NONE) CAR[차량소유여부, YES, NO] CCARD[신용카드소유여부, YES, NO] BANK[은행계좌소유여부, YES, NO] INSU[자동차보험가입여부, YES, NO] GEN(연령대, 10대, 20대초반, 20대후반, 30대이상) INCOME[소득, LOW, MIDDLE, HIGH] 분석에 있어서 유료정보 서비스를 이용하는데 영향을 주는 요소로서 위와 같은 변수를 고려하였으며, 2차 교호 작용도 함께 고려하였다. 분석과정에서 2차 교호작용이 들어가있는 모형이 조금 나았지만 그 차이가 아주 미미 하여 좀 더 간단한 모형으로 설명하고자 교화 효과가 포함되지 않은 모형을 고려 하였고 그 결과가 다음과 같다.
2. 로지스틱 회귀분석 예제1 모형구축을 위한 통계적 방법 링크 한수 : Logit Function 가변수에 대한 코딩 : Deviation 변수선택방법 ; 단계적방법(stepwise method) Criteria : Validation Error 최적화방법 : Newton-Raphson w/Ridging 모형구축에 선택된 변수 상수항, car ccard, computer, gen, income, insu, mar, sex, type Type III Analysis of Effects Wald Pr > Effect DF Chi-Square Chi-Square car 1 14.7178 0.0001 ccard 1 266.9468 <.0001 computer 2 75.4109 <.0001 gen 3 267.5672 <.0001 income 2 77.0948 <.0001 insu 1 60.2473 <.0001 MAR 1 59.7892 <.0001 SEX 1 406.7122 <.0001 type 1 181.6564 <.0001
2. 로지스틱 회귀분석 예제1 Input Class Level Information Type Heavyuser 1 LightUser -1 SEX 1 1 2 -1 MAR 0 1 1 -1 i_place Gamer 1 0 0 House 0 1 0 Office 0 0 1 School -1 -1 -1 gen 10대 1 0 0 20초 0 1 0 20후 0 0 1 30하 -1 -1 -1 computer desktop 1 0 none 0 1 notebook -1 -1 car no 1 yes -1 ccard no 1 yes -1 bank no 1 yes -1 insu no 1 yes -1 income hig 1 0 low 0 1 mid -1 -1
2. 로지스틱 회귀분석 예제1 추정된 회귀계수 Analysis of Maximum Likelihood Estimates Standard Wald Pr > Parameter DF Estimate Error Chi-square Chi-square exp(Est) Intercept 1 -0.7614 0.0258 868.17 <.0001 0.467 car no 1 -0.0571 0.0149 14.72 0.0001 0.944 ccard no 1 -0.2808 0.0172 266.95 <.0001 0.755 computer desktop 1 0.000373 0.0208 0.00 0.9857 1.000 computer none 1 -0.2358 0.0321 53.82 <.0001 0.790 gen 10대 1 -0.4132 0.0383 116.19 <.0001 0.662 gen 20초 1 -0.2097 0.0251 69.61 <.0001 0.811 gen 20후 1 0.1281 0.0221 33.47 <.0001 1.137 income hig 1 0.2007 0.0233 74.15 <.0001 1.222 income low 1 -0.1423 0.0274 26.92 <.0001 0.867 insu no 1 -0.1082 0.0139 60.25 <.0001 0.897 MAR 0 1 -0.1432 0.0185 59.79 <.0001 0.867 SEX 1 1 0.2833 0.0140 406.71 <.0001 1.328 type Heavyuser 1 0.1728 0.0128 181.66 <.0001 1.189
2. 로지스틱 회귀분석 예제1 온라인 상품구매 여부에 대한 독립변수의 회귀계수를 통해 살펴보면, 30대이상, 남자, 노트북 소유, 고소득, Heavy User, 기혼, 20후, 자동차보험 가입자, 차 소유, 데스크탑 등이 사후확률을 증가시키는 변수임을 알 수 있다.
2. 로지스틱 회귀분석 예제1 입력변수가 온라인 상품구매 이용여부에 미치는 영향의 정도는 오즈비로 계량화할수 있는데 오즈비가 1보다 크다는 것은 입력변수가 양의 방향으로 영향을 미침을 의미한다. 예를 들어, 남자는 여자보자 1.762배 만큼 증가방향으로 영향을 미침을 의미한다. 오 즈 비 Odds Ratio Estimates Input Odds Ratio car no vs ye 0.892 ccard no vs ye 0.570 computer desktop vs noteboo 0.791 computer none vs noteboo 0.624 gen 10대 vs 30하 0.403 gen 20초 vs 30하 0.494 gen 20후 vs 30하 0.693 income hig vs mid 1.296 income low vs mid 0.920 insu no vs ye 0.805 MAR 0 vs 1 0.751 SEX 1 vs 2 1.762 type Heavyuser vs LightUser 1.413
2. 로지스틱 회귀분석 예제1 왼쪽의 리프트도표는 온라인 상품구매 대한 교호작용이 있는 회귀분석모형과 입력변수만이 고려된 회귀분석모형, 의사결정나무모형에 대한 결과이다. 의사결정모형보다는 회귀분석모형이 더 좋은 결과를 제공하고 있다는 것을 나타내고 있고, 오른쪽의 ROC도표를 통해서도 회귀분석모형이 좀 더 좋은 결과를 나타냄을 알 수 있다. 따라서 온라인 상품구매에 대한 모형구축에서는 의사결정나무보다 회귀분석모형이 더욱 적절하다는 결론을 내릴 수 있다.
3. 구축된 모형 패널데이터 의사결정 나무모형 모형평가 데이터분할 교호작용이 없는 로지스틱 회귀모형 교호작용을 포함하는 로지스틱 회귀모형 점수화
1. 군집분석 군집분석(cluster analysis)은 관찰치를 유사한 집단으로 그룹화하여 각 집단의 성격을 파악하여, 데이터 전체에 대한 구조를 이해하는데 도움을 주는 분석 도구이다. 복잡한 전체보다는 전체를 대표하는 군집 들을 관찰함으로써 전체 데이터에 대한 의미 있는 정보를 얻어낼 수 있다. • 군집분석의 목적 • 자료에 대한 탐색과 요약을 하며 어떠한 특수목적이 없는 기법으로 전제데이터를 군집을 통해 • 잘 구분하는 것이 분석의 목적이다. • 거리의 종류 • 유클리드 거리 • 민코브스키 거리 • 군집의 유형 • 상호 배반적 군집(disjoint clustering) • 계보적 군집(hierarchical clustering) • 중복 군집(overlapping clustering) • 퍼지 군집(fuzzy clustering) • 데이터마이닝에서의 유용한 군집분석 알고리즘 K-means clustering, SOM
2. 군집분석 예제1 관찰치 : 43,123 샘플 : 2,000 Standardization : Range Clustering Criterion : Least Squares 데이터에 대한 군집하에 영향을 가장 많이 미치는 변수로는 연령층, 수입, 인터넷사용장소, 컴퓨터소유종류, 성별 순으로 나타나고 있음을 알 수 있다. Slice : Std. Diviation Height: Frequency Color : Radius
2. 군집분석 예제1 4개의 군집으로 표현되는 온라인 패밀리카드 데이터는 다음과 같은 특성을 가지고 있다.