1. 데이터 마이닝의 개요
1. 데이터 마이닝(data mining)
1) 개요
- 대용량 데이터에서 의미있는 패턴을 파악하거나 예측하여 의사결정에 활용하는 방법
- 관련 용어 : 데이터웨어하우징, 의사결정지원시스템, OLAP(On-Line Analytic Processing), 지식경영 등
- 정의
1) 거대한 양의 데이터 속에서 쉽게 드러나지 않은 유용한 정보를 찾아내는 과정
예) “창문이 많은 집에는 도둑이 많다”
→ 차별적인 보험률 적용, 보다 효율적인 정책을 수립
→ 기업의 수익증대에 공헌
⇒ 창문과 도둑과의 관계를 찾아내는 것
→ 데이터 마이닝
- 정의
2) 기업이 가지고 있는 모든 원천 데이터(고객데이터, 상품데이터, 고객반응데이터, 외부데이터 등)를 기반으로 감춰진
지식, 기대하지 못했던 경향 또는 새로운 규칙 등을 발견하고 이를 실제 비즈니스 의사결정 등에 유용한 정보로
활용하고자 하는 일련의 작업
2) 통계분석과의 차이점
- 가설이나 가정에 따른 분석, 검증을 하는 통계분석과 달리
- 데이터 마이닝은 다양한 수리 알고리즘을 이용해 데이터베이스의 데이터로부터 의미있는 정보를 추출
=> “총체적 접근법” 사용
3) 활용 분야
- 분류, 예측, 군집화, 시각화 등
4) 방법론 = 모델(모형) = 알고리즘
- 의사결정나무, 로지스틱 회귀분석, 최근접 이웃법, 연관규칙분석 등
지도학습 (Supervised Learning) | 비지도학습 (Unsupervised Learning) |
의사결정나무 인공신경망 로지스틱 회귀분석 최근접이웃법 사례기본추론 |
OLAP(On-Line-Analytic Processing) 연관규칙분석 군집분석 SOM(Self Organizing Map) |
2. 데이터 마이닝 분석 방법
1) 분류(Classification)
① 분류 정의 – 새롭게 나타난 현상을 검토하여 기존의 분류, 정의된 집합에 배정하는 것
② 분류 작업 = 잘 정의된 분류 기준 + 선 분류되어진 검증 집합
③ 완성된 분류 작업을 통해 모형이 구축되면 그 모형을 이용하여 분류되지 않은 다른 현상들을 분류할 수 있다.
④ 분류 기법 – 의사결정나무(decision trees), 앙상블, SVC, k-최근접이웃, 로지스틱회귀
⑤ ‘예/아니오’와 같은 결과물을 분리하는 데 사용
2) 추정(Estimation)
① ‘수입, 수준, 신용카드 잔고’등 연속된 변수의 값을 추정
② 주어진 입력 데이터를 사용하여 알려지지 않은 결과의 값 추정 (예) 부모가 있는 어린이의 수 추정하는 것, 가족 구성원의 총수입 추정, 고객의 평생 가치 추정
③ 주로 사용되는 기법 : 신경망 모형(neural network)
3) 예측(Prediction)
① 예측 – 미래의 양상을 예측하거나 미래의 값을 추정한다는 것을 제외하면 분류나 추정과 동일한 의미를 갖는다.
② 정확성을 알아보는 방법
분류나 추정 - 기존 결과와 비교해보면 바로 안다.
예측 작업 - 기다리고 지켜보는 것
③ 연관분석의 한 기법인 장바구니 분석(market basket analysis) 기법 → 예측 작업에 사용
(예) 어느 아이템이 식료품 가게에서 함께 구매될 수 있는지와 같은 질문에 답을 찾을 수 있도록 장바구니 분석 기술을
사용해서 현재의 데이터가 내포하고 있는 경향을 분석하여 미래를 예측할 수 있기 때문
④ 예측기법 - 장바구니 분석, 의사결정나무, 신경망
⑤ 예측 기술 사용 – 입력 데이터의 성격에 따라 다르게 결정됨.
4) 연관 분석(Association Analysis)
① 연관 분석 – 같이 팔리는 물건과 같이 아이템의 연관성을 파악하는 분석
② 소매들은 물건을 배열 계획, 카탈로그 배열 및 교차 판매, 공격적 판촉행사 등의 마케팅 계획도 세울 수 있음
③ 연관 분석의 한 기법인 장바구니 분석의 결과 → ‘연관 규칙(association rules)’
5) 군집(Clustering)
① 군집 – 이질적인 모집단을 동질성을 지닌 그룹 별로 세분화하는 것을 의미
② 군집과 분류와의 차이점 군집 - 선분류 되어있는 기준에 의존하지 않는다. (비지도학습)
③ 데이터 마이닝이나 모델링의 준비 단계로서 사용
(예) 시장 세분화의 첫 단계로서
→ 판촉 활동에 가장 반응률이 높은 고객들을 선별할 때 사용 구매 습관이 유사한 그룹별로 사람들을 군집화 한 다음
→ 각각의 그룹별로 가장 효과적인 판촉 방법을 계획
6) 기술(Description)
① 데이터 마이닝의 목적 - 사람, 상품에 관한 이해를 증가시키기 위한 것
② 데이터가 가지고 있는 의미를 단순하게 기술하는 것도 의미를 파악하는 것만큼 중요
③ 훌륭한 기술(description)
- 데이터가 암시하는 바에 대한 설명이 가능해야 하며 + 설명에 대한 답을 찾아낼 수 있어야 한다.
(예) 미국의 유명한 정치적 설문 – 미국 여성들은 남자들보다 민주당을 훨씬 더 많이 지지한다.
④ 데이터 마이닝의 장바구니 분석에 의해 나타나는 규칙들도 기술이라고 할 수 있다.
3. 데이터 마이닝 추진 단계(5단계)
- 목적 설정, 데이터 준비, 데이터 가공, 데이터 마이닝 기법의 적용, 검증
1) 목적 정의
- 데이터 마이닝 도입의 목적을 분명히 설정하는 단계
- 가능하면 1단계부터 전문가가 참여
2) 데이터 준비
- 고객정보와 거래정보, 상품 마스터 정보 등 데이터 마이닝 수행에 필요한 데이터를 수집하는 단계
- 데이터는 대부분 용량이 크므로 IT부서와 협의, 도움 요청
- 가능하면 필요한 데이터를 다른 서버에 저장하여 운영에 지장이 없도록 한다.
- 데이터 정제를 통해 데이터의 품질을 보장하고, 필요하다면 보강 작업을 거쳐 데이터 양을 충분히 확보해야 함
3) 데이터 가공
- 데이터 마이닝 기법이 적용이 가능하도록 수집된 데이터를 가공
- 모델링의 목적에 따라 목적 변수를 정의하고 필요한 데이터 마이닝 소프트웨어를 적용할 수 있도록 적합한 형식 가공
(예) 분류 모델링
- CRM 데이터 마트 형식으로 데이터 가공.
- 충분한 CPU와 메모리, 디스크 공간 등 개발 환경의 구축 선행
4) 데이터 마이닝 기법의 적용
- 앞선 단계를 거쳐 준비한 데이터와 데이터 마이닝 소프트웨어를 활용하여 목적하는 정보를 추출한다.
- 적용할 데이터 마이닝 기법은 1단계 목적설정단계에서 미리 결정하는 것이 바람직하다.
- 데이터 마이닝 모델을 목적에 맞게 선택하고 소프트웨어를 사용하는 데 필요한 값을 지정하는 단계
- 분석 전문가의 전문성이 필요하다.
- 데이터 마이닝을 적용하려는 목적이 무엇이고, 어떤 데이터를 갖고 있고, 산출되는 정보가 무엇인가 등에 따라 적절한 소프트웨어와 기법이 선정되어야 한다.
5) 검증
- 검증단계에서는 테스트 마케팅이나 과거 데이터를 활용할 수 有
- 검증 단계를 거친 후에는 자동화 방안을 IT 부서와 협의하여 상시적으로 데이터 마이닝 결과를 업무에 적용할 수 있도록 보고서를 작성하여 경영진에게 연간 추가 수익과 투자대비성과(ROI) 등으로 기대효과를 알릴 수 있어야 한다.
- 참고) KDD 분석 방법론
4. 지도학습의 분류 분석과 회귀 분석 비교
공통점 | 지도학습, 종속변수가 있는 경우 종속변수와 설명변수 간의 관계를 분석 |
차이점 | 분류(Classification) – 종속변수가 범주형 자료일 때 사용하는 기법 회귀(Regression) – 종속변수가 연속형 자료일 때 사용하는 기법 |
분류의 예 | 학생들의 국어, 영어 등의 점수를 이용한 내신등급 분류 카드회사에서 회원들의 가입정보를 통해 1년 후 신용등급을 분류 (예) 신용평가모형, 사기방지모형, 이탈모형, 고객세분화 |
회귀의 예 | 학생들의 여러 가지 정보를 이용하여 수능점수를 예측 카드회사에서 회원들의 가입정보를 통해 연 카드매출액을 예측 (예) 주가 예측, 부동산 시세 예측 |
분류 기법 | 의사결정나무(Decision Tree) (예) CART, C5.0, C4.5, CHAID 베이지안 분류(Bayesian Classification) 인공신경망(Artificial Neural Network) 서포트벡터머신(SVM) k-최근접이웃(k-nearest neighborhood) 로지스틱 회귀분석(Logistic Regression) |
회귀 기법 | 단순회귀분석, 다중회귀분석 |
5. 과적합과 데이터 분할
- 데이터 분할: 전체 자료(data) = 훈련용 자료(training data) + 검증용 자료(test data)
- 과적합(overfitting) 문제를 해결하는 방안(= 일반화 오류 방지)
- 주어진 학습 데이터에서만 높은 성과를 보이는 모형을 방지하기 위한 방안
- 과소적합(underfitting)과 과대적합(overfitting) 과소적합 일반화 과대적합
- 과적합(overfitting): 기계 학습에서 학습 데이터를 과하게 학습하는 것을 뜻한다. 일반적으로 학습 데이터는 실제 데이터의 부분 집합이므로 학습데이터에 대해서는 오차가 감소하지만 실제 데이터 에 대해서는 오차가 증가하게 된다.
- 과소적합(underfitting): 기계학습에서 너무 단순한 모델을 생성하여 데이터의 내재된 구조를 학습하지 못할 때 발생한다.
- 과적합 문제를 해결하기 위해 사용되는 데이터 분할방법(3가지) : 홀드아웃방법, 교차검증, 붓스트랩
① 홀드 아웃(Hold-out) 방법
- 원천 데이터를 랜덤하게 두 분류로 분리하여 교차 검정을 실시하는 방법
- 훈련용 자료(70%) : 검증용 자료(30%)
- 검증용 자료의 결과는 분류 분석 모형에는 영향을 주지 않고 모형의 성과 측정만을 위하여 사용된다.
훈련용(training data) | 데이터를 모델링을 위한 훈련용으로 활용 |
검증용(validation data) | 데이터를 구축된 모형의 과대/과소 추정의 판정 목적으로 활용 |
시험용(test data) | 테스트 데이터를 활용하여 모델의 성능평가에 활용 |
② 교차 검증(Cross Validation)
- 주어진 데이터를 가지고 반복적으로 성과를 측정하여, 그 결과를 평균한 것으로 분류 분석 모형을 평가하 는 방법
- K-Fold 교차검증 : 전체 데이터를 사이즈가 동일한 k개의 하부 집합(subset)으로 나누고, k번째의 하부집합을 검증용 자료로, 나머지 k-1개의 하부집합을 훈련용 자료로 사용한다. 이를 k번 반복 측정하고 각각의 반복측 정 결과를 평균 낸 값을 최종 평가로 사용한다.
- 일반적으로 5-fold, 10-fold 교차 검증을 사용
③ 붓스트랩
- 평가를 반복한다는 측면에서 교차검증과 유사하나 훈련용 자료를 반복 재선정한다는 점에서 차이가 있다.
- 관측치를 한번 이상 훈련용 자료로 사용하는 복원 추출법에 기반
6. 분류 모형 평가 지표
- 오분류표, ROC 그래프, 이익도표와 향상도 곡선(Lift Curve)
1) 오분류표(Confusion Matrix) = 혼동 행렬
- 오분류표는 목표 변수의 실제 범주와 모형에 의해 예측된 분류 범주 사이의 관계를 나타내는 표
예측치 | 합계 | |||
True | False | |||
실제값 | True | TP | FN | P |
False | FP | TN | N | |
합계 | P’ | N’ | P+N |
1. TP(True Positives): 실제값과 예측값 모두 True인 빈도
2. TN(True Negatives): 실제값과 예측치 모두 False인 빈도
3. FP(False Positives): 실제값은 False이나 True로 예측한 빈도
4. FN(False Negative): 실제값은 True이나 False로 예측한 빈도
① 정분류율(Accuracy) = 정확도
- 모형이 제대로 예측한 관측치를 평가하는 지표
accuracy(정분류율) = TP+TN / TP+FN+FP+TN = TP+TN / P+N
② 오분류율(Error Rate, Misclassification Rate) = 1 - accuracy
- 모형이 제대로 예측하지 못한 관측치를 평가하는 지표
- 전체 관측치 중 실제값과 예측치가 다른 정도를 나타내며 1 – accuracy 와 같음.
errorrate (오분류율) = FP+FN / TP+FN+FP+TN = FP+FN / P+N
③ 민감도(Sensitivity) = 재현율(Recall)
- 실제값이 True인 관측치 중 예측치가 적중한 정도
- 예) 암환자 분류 모형의 경우 암환자는 소수 집단인데 반해 이를 잘못 예측했을 경우의 비용이 다수 집 단의 건강한 환자를 잘못 예측한 경우보다 훨씬 크게 된다.
따라서 이런 범주 불균형 문제를 가지고 있는 데이터에 대한 분류 모형 평가지표는 정확도보다 중 요한분류 범주만을 다루어야 하는 민감도와 특이도를 사용해야 한다.
Recall(재현율) = TP / TP + FN = TP / P
④ 특이도(Specificity)
- 실제값이 False인 관측치 중 예측치가 적중한 정도
Specificity(특이도) = TN / FP+TN = TN / N
⑤ 정밀도(Precision)
- True로 예측한 관측치 중 실제값이 True인 정도를 나타내는 지표
Precision(정밀도) = TP / TP+FP
⑥ F1 지표(F1 Score) – 조화평균
- 정밀도와 재현율은 트레이드 오프 관계이므로 한 지표값이 높아지면 다른 지표의 값이 낮아질 가능성이 높은 관계
- 이런 효과를 보정하는 지표, 조화평균이 F1 스코어
F1 = 2×Precision×Recall / Precision+Recall = 2×정밀도×재현율 / 정밀도+재현율
[기출문제] 오분류표(=혼동행렬)
실제 | 예측 | True | False | 합계 |
True | 30 | 70 | 100 | |
False | 60 | 40 | 100 | |
합계 | 90 | 110 | 200 |
(1) accuracy(정분류율) = TP+TN / P+N =30+40 / 200 = 70 / 200 = 0.35
(2) errorrate (오분류율) = FP+FN / P+N =70+60 / 200 = 130 / 200 = 0.65
실제 | 예측 | True | False | 합계 |
True | 30 | 70 | 100 | |
False | 60 | 40 | 100 | |
합계 | 90 | 110 | 200 |
(3) sensitivity(민감도) = TP / P =30 / 100 = 0.3
(4) specificity(특이도) = TN / N =40 / 100 = 0.4
(5) Precision(정밀도) = TP / TP+FP = 30 / 90 = 0.33
(6) Recall(재현율) = TP / TP+FN = TP / P = 30 100 = 0.3
(7) F1 Score = 2×Precision×Recall Precision+Recall = 2×정밀도×재현율 정밀도+재현율 = 2∗0.33∗0.3 0.33+0.3 = 0.314
[기출문제] 아래와 같은 오분류표를 갖는 데이터 마이닝 모형이 있다고 가정하자. 이 모형의 정확도 (Accuracy)는 얼마인가?
예측 | |||
우량 | 불량 | ||
실제 | 우량 | 55 | 20 |
불량 | 10 | 15 |
정답: 0.7
(풀이) (55+15) / (55+20+10+15) = 70/100 = 0.7
2) ROC 그래프
- 레이더 이미지 분석의 성과를 측정하기 위해 개발된 그래프
- X축: 가짜 양성 비율(FPR, False Positive Rate) = 1
- 특이도 (실제로 False이지만 True라고 잘못 예측한 비율)
- Y축: 진짜 양성 비율(TPR, True Positive Rate) = 민감도
- X축과 Y축 두 값의 관계를 평가한 그래프
- ROC(Reciver Operating Characteristic Curve) 곡선: TPR = 1 이고 FPR이 0인 가장 이상적인 곡선
- 모형 성과 평가 기준: AUC(Area Under Curve)
→ ROC 밑부분 면적(AUC, Area Under Curve)이 넓을수록 좋은 모형으로 평가
→ AUC가 1에 가까울수록 좋은 모형
- ROC 곡선과 AUC 예시
3) 이익 도표와 향상도 곡선
- 이익(Gain) : 목표 범주에 속하는 개체들이 각 등급에 얼마나 분포하고 있는지를 나타내는 값
- 이익 도표(Gain Chart): 등급에 따라 계산된 이익값을 누적으로 연결한 도표
- 향상도(Lift Curve): 랜덤 모델과 비교하여 해당 모델의 성과가 얼마나 향상되었는지를 각 등급별로 파악하는 그래프
2. 지도학습-분류 분석
1. 의사결정나무(Decision Tree)
1) 정의
- 분류 함수를 의사결정 규칙으로 이뤄진 나무 모양으로 그리는 방법으로 의사결정 문제를 시각화해 의사결정이 이뤄지는 시점과 성과를 나무(Tree) 구조로 나타내어 전체 자료를 몇 개의 소집단으로 분류(Classification)하거나 예측(Prediction)을 수행하는 분석 방법
(예) 타이타닉 생존율 예측 - 의사결정나무
- 상위 노드로부터 하위 노드로 나무 구조를 형성하는 매 단계마다 분류변수와 분류 기준 값의 선택이 중요하다.
- 노드(집단) 내에서는 동질성이, 노드(집단) 간에는 이질성이 가장 커지도록 분기
- 나무 모형의 크기는 과대적합(또는 과소적합) 되지 않도록 합리적 기준에 의해 적당히 조절되어야 한다.
2) 의사 결정나무의 종류
- 목표변수가 이산형 자료인 경우 → 분류 나무(Classification Tree)
- 목표변수가 연속형 자료인 경우 → 회귀 나무(Regression Tree)
[기출문제] 의사결정나무 중 연속된 타깃변수(target variable, 또는 목표변수)를 예측하는 의사결정나무를 무엇이라 하는가?
정답: 회귀나무
3) 장점
- 결과를 해석하고 이해하기가 쉽다.
- 자료를 가공(정규화, 결측치, 이상치)할 필요가 거의 없다.
- 수치 자료와 범주 자료 모두에 적용할 수 있다.
- 대규모의 데이터 셋에도 잘 동작한다.
4) 단점
- 한 번에 하나의 변수만을 고려하므로 변수간 상호작용을 파악하기가 어렵다.
- 결정경계(Decision Boundary)가 데이터 축에 수직이어서 비선형(Non-Linear) 데이터 분류에는 적합하지 않다.
- Full Tree일 경우 오버 피팅이 발생하기 쉽다.
5) 의사결정 나무의 용어 정의
- 뿌리 마디(root node) : 맨 위의 마디
- 부모 마디(parent node) : 상위의 마디가 하위 바디로 분기될 때 상위마디 - 자식 마디(child node) : 하위 마디
- 최종 마디(terminal node) : 더 이상 분기 되지 않는 마디 - 가지 분할(split) : 나무 가지를 생성하는 과정 - 가지치기(pruning) : 의사결정나무의 깊이가 깊어지면 과적합이 발생할 수 있으므로, 생성된 가지를 잘라내어 모형을 단순화하는 과정
- 정지규칙(stopping) : 자식노드에 남은 샘플의 수가 너무 적은 경우에 분할을 정지한다. 불순도가 더 이상 떨어지지 않은 경우 분할을 중단한다. 의사결정 나무에서 더 이상 분기가 되지 않고 현재의 마디가 끝 마디(leaf node, terminal node)가 되도록 하는 규칙
6) 의사결정나무의 모델 학습 과정
단계 1) 재귀적 분기(Recursive Partitioning)
- 재귀적 분기는 특정 영역인 하나의 노드 내에서 하나의 변수 값을 기준으로 분기하여 새로 생성된 자식 노드들의 동질성이 최대화되도록 분기점을 선택하는 것이다.
- 동질성이 최대화된다는 말은 즉, 불순도는 최소화된다는 의미이다.
- 불순도를 측정하는 기준
-- 범주형 변수 : 지니지수(Gini Index), 카이제곱 통계량(Chi-Square)의 p-값, 엔트로피 지수(Entropy Index)
-- 수치형 변수 : 분산(Variance)
단계2) 가지치기(Pruning)
- 가지치기란 나무의 가지를 치는 것과 같아서 이름이 붙여졌으며, 가지를 잘라서 버리는 것이 아닌, 합치는 것이라고 이해해야 한다.
- Decision Tree 분기 수가 증가할 때, 초 기에는 오류율이 감소하지만 어느 시점부터는 증가하기 시작한다.
- Full Tree란 Terminal node의 순도가 100%인 상태인 트리를 말한다.
- 보통 Full Tree의 경우 분기가 너무 많아 과적합(Overfitting)이 발생하기 쉽다. 따라서 먼저 Full Tree를 생성한 뒤 적절한 수준에서 하위 노드와 상위 노드를 결합해주어야 한다.
(a) 적절한 가지치기를 한 뒤의 Tree
(b) Full-Tree : Terminal node의 순도가 100%인 상태의 트리 → overfitting(과적합)
7) 의사결정나무 분기의 기준
- 각 영역의 순도(homogeneity)가 증가, 불순도(impurity) 혹은 불확실성(uncertainty)이 최대한 감소하도록 하는 방향으로 학습을 진행
- 자식노드에서의 지니지수나 엔트로피 지수 역시 그 값이 클수록 자식노드 내의 이질성이 큼을 의미 → 이 값들이 가장 작아지는 방향으로 가지분할을 수행
- 지니지수나 엔트로피지수의 값이 클수록 이질적이며 순수도(purity)가 낮다.
- 순도가 증가 또는 불확실성이 감소하는 걸 두고 정보이론에서는 정보획득(information gain)이라고 함
(1) 지니 지수(Gini Index)
- 불순도(Impurity)와 다양성(Diversity)를 계산하는 방법
- 영역내에서 특정 클래스에 속하는 관측치들의 비율을 제외한 값
- 1개의 영역에서의 지니 지수 구하는 식 :
- 2개 이상의 영역에서의 지니지수 구하는 식 :
- 분기 후 정보 획득량(Information Gain) 은 0.47 - 0.34 = 0.13
(2) 엔트로피 지수(entropy)
- 엔트로피는 열역학에서 나온 개념으로써 무질서에 대한 측도 역할을 한다.
- 지니 지수와 비슷하지만 log를 취함으로써 정규화 과정을 거치게 된다. Pk는 한 영역에 속한 데이터 중 k범주에 속하는 데이터의 비율, m은 범주의 개수
- 1개의 영역에서 엔트로피 지수 구하는 식 :
- 2개의 영역에서 엔트로피 지수 구하는 식 :
- 분기 후 정보 획득량(Information Gain) 은 0.95 - 0.75 = 0.20 61
- 예제1) 지니지수 구하기 G = 1 – (𝟑/𝟖) 𝟐 - (𝟑/𝟖) 𝟐 -(𝟏/𝟖) 𝟐 - (𝟏/𝟖) 𝟐 = 0.69
- 예제2) 지니지수 구하기 G = 1 – (𝟕/𝟖) 𝟐 - (𝟏/𝟖) 𝟐 = 0.24
8) 의사결정나무 분석을 위한 알고리즘
- CHAID, CART, ID3, C4.5, C5.0 등과 이들의 장점을 결합한 다양한 알고리즘
- 주요 알고리즘과 분류 기준 변수의 선택법
알고리즘 | 이산형 목표변수 | 연속형 목표변수 |
CHAID(다지분할) | 카이제곱 통계량 | ANOVA F-통계량 |
CART(이진분할) | 지니지수 | 분산감소량 |
C4.5, C5.0(다지분할) | 엔트로피지수 |
- >#R 패키지 {rpart.plot}을 이용하여 적합된 의사결정나무 모형을 여러 가지 방식으로 시각화 할 수 있다.
>install.packages("rpart.plot")
>library(rpart.plot)
>prp(c, type=4, extra=2)
>#결과해석)
>#최종 노드(terminal node)에 대한 해석
– 두 조건(Petal.Length>=2.4와 Petal.Width<1.8)을 만족하는 노드에서
>#49/54는 이 노드에 속하는 해당 개체가 54개이며 이 가운데 versicolor가 49임을 나타낸다.
>#따라서, 이 노드에 해당되는 새로운 자료는 versicolor로 분류된다.
9) 의사결정나무의 응용
- 시장조사, 광고조사, 의학연구, 품질관리 등의 다양한 분야에서 활용
- 구체적 활용 사례 : 고객 타겟팅, 고객 신용평가, 캠페인 반응분석, 고객행동예측, 고객 세분화 등
2. 앙상블 모형
1) 앙상블(ensemble) 모형 개요
- 주어진 자료로부터 여러 개의 분류 모형을 만든 후 조합하여 최종예측모형을 만드는 방법 - 학습 방법의 불안전성을 해결하기 위해 고안된 기법
2) 앙상블 기법의 종류
배깅 (bagging) | - 원 데이터 집합으로부터 크기가 같은 표본을 여러 번 단순 임의 복원 추 출하여 각 표본에 대해 분류기를 생성한 후 그 결과를 앙상블 하는 방법 - 배깅은 훈련자료를 모집단으로 생각하고 평균예측모형을 구한 것과 같 아 분산을 줄이고 예측력을 향상시킬 수 있음 |
랜덤포레스트 (random forest) | - 의사결정나무의 특징인 분산이 크다는 점을 고려하여 배깅보다 더 많은 무 작위성을 주어 약한 학습기들을 생성한 후 이를 선형 결합하여 최종 학습 기를 만드는 방법 - 이론적 설명이나 해석이 어렵다는 단점이 있지만, 예측력이 매우 높은 장 점이 있음 - 입력변수가 많은 경우 더 좋은 예측력을 보임 - 배깅의 가장 대표적인 알고리즘 |
부스팅 (boosting) | - 배깅의 과정과 유사하나 붓스트랩 표본을 구성하는 재표본 (re-sampling) 과정에서 각 자료에 동일한 확률을 부여하는 것이 아니라, 분류가 잘못된 데이터에 더 큰 가중을 주어 표본을 추출 - 아다부스팅(Ada Boosting: Adaptive Boosting) 많이 사용 |
- 배깅과 부스팅의 차이점
-- 배깅(Bagging): 서로 다른 독립된 데이터 셋으로 학습한 같은 모델링으로부터 투표방식으로 결과추출
-- 부스팅(Boosting): 서로 다른 독립된 데이터 셋으로 학습한 서로 다른 모델로부터 가중치에 의한 투표 방식으로 결과 추출
(1) 배깅(bagging, bootstrap aggregating)
① 원 데이터 집합으로부터 크기가 같은 표본을 여러 번 단순 임의 복원 추출하여,
② 각 표본(이를 붓스트랩 표본)에 대해 분류기(classifiers)를 생성한 후
③ 그 결과를 앙상블 하는 방법
- 반복추출 방법을 사용하기 때문에 같은 데이터가 한 표본에 여러 번 추출될 수 있고, 어떤 데이터는 추출되 지 않을 수 있다
(2) 랜덤포레스트(random forest)
- 랜덤포레스트 : 배깅에 랜덤과정을 추가한 방법
① 원 자료로부터 붓스트랩 샘플을 추출하고
② 각 붓스트랩 샘플에 대해 트리를 형성해 나가는 과정은 배깅과 유사하나,
③ 각 노드마다 모든 예측 변수 안에서 최적의 분할(split)을 선택하는 방법 대신 예측 변수들을 임의로 추 출하고,
④ 추출된 변수 내에서 최적의 분할을 만들어 나가는 방법을 사용
- 새로운 자료에 대한 예측은 분류의 경우는 다수결로 회귀(regression)의 경우에는 평균을 취하는 방법을 사용
(3) 부스팅(boosting)
- 배깅의 과정과 유사하나 붓스트랩 표본을 구성하는 재표본(re-sampling) 과정에서 각 자료에 동일한 확률을 부여하는 것이 아니라, 분류가 잘못된 데이터에 더 큰 가중을 주어 표본을 추출
- 배깅이 병렬로 학습하는 반면, 부스팅은 순차적으로 학습하여, 학습이 끝나면 나온 결과에 따라 가중치가 재분배됨
① 부스팅에서는 붓스트랩 표본을 추출하여 분류기를 만든 후,
② 그 분류 결과를 이용하여 각 데이터가 추출될 확률을 조정한 후,
③ 다음 붓스트랩 표본을 추출하는 과정을 반복한다.
- 아다부스팅(Ada Boosting: Adaptive Boosting) 많이 사용
[기출문제] 원 데이터 집합으로부터 크기가 같은 표본을 여러 번 단순 임의 복원 추출하여 각 표본에 대 해 분류기를 생성한 후 그 결과를 앙상블 하는 방법을 무엇이라 하는가?
정답: 배깅
3. 로지스틱 회귀 모형(Logistic Regression)
- 반응변수(종속변수)가 범주형인 경우 적용되는 회귀분석 모형
- 단순 로지스틱회귀모형
- 반응변수 Y는 0과 1 사이의 값을 갖는다.
- 로지스틱회귀가 분류의 목적으로 사용될 경우 𝛑(𝐱)가 기준값(예를 들어, 1/2)보다 크면 Y=1인 집단으로, 작으면 Y=0인 집단으로 분류하게 된다.
- 반응변수 Y에 대해 다중(multiple) 로지스틱 회귀모형의 일반적인 형태 𝐥𝐨𝐠( 𝛑(𝐱) 𝟏−𝛑(𝐱) ) = 𝛂 + 𝛃𝟏𝐱𝟏+. . .+𝛃𝐤𝐱𝐤 𝛑(𝐱) = 𝐏(𝐘 = 𝟏|𝐱), 𝐱 = (𝐱𝟏, . . . , 𝐱𝐤)
- 오즈(odds)의 관점에서 해석될 수 있다는 장점을 가진다.
- 오즈(odds) 변환: 성공 확률이 실패 확률에 비해 몇 배 더 높은가를 나타낸다. odds = 𝑝(𝑦 = 1 |𝑥) 1−𝑝(𝑦=1|𝑥)
- 로지스틱 함수(logistic function) logistic function = 𝑒 𝛽0𝑋𝑖 1+ 𝑒 𝛽0𝑋𝑖 𝐞𝐱𝐩(𝛃𝟏)의 의미 : 나머지 변수 (𝐱𝟐, . . . , 𝐱𝐤)가 주어질 때 𝐱𝟏이 한 단위 증가할 때마다 성공(Y=1)의 오즈가 몇 배 66 증가하는 지를 나타내는 값 𝛑(𝐱) = 𝐞𝐱𝐩(𝛂+𝛃𝟏𝐱𝟏+...+𝛃𝐤𝐱𝐤) 𝟏+𝐞𝐱𝐩(𝛂+𝛃𝟏𝐱𝟏+...+𝛃𝐤𝐱𝐤) = 𝟏 𝟏+𝐞𝐱𝐩(−(𝛂𝛃𝟏𝐱𝟏+...+𝛃𝐤𝐱𝐤))
- (예) 로지스틱 회귀 분석의 결과, ẞ의 추정값이 5.14이면, 독립변수의 단위가 증가함에 따라 종속변수가 0에서 1로 바뀔 오즈(Odds)가 exp(5.14) = 170배 증가한다는 의미
4. k-최근접 이웃(k-NN, k-Nearest Neighbor)
- 알고리즘의 훈련단계는 오직 훈련 표본이 특징 벡터와 항목 분류명으로 저장하는 것
- k의 역할은 몇 번째로 가까운 데이터까지 살펴볼 것인가를 정한 숫자
- k-NN은 함수가 오직 지역적으로 근사하고 모든 계산이 분류될 때까지 연기되는 인스턴스 기반 학습 또는 게으른 학습(lazy learning)의 일종이다.
- k-NN 알고리즘은 가장 간단한 기계 학습 알고리즘에 속한다.
- 주의) k-최근접이웃: 지도학습 분류 분석, k-means: 비지도학습 군집분석
5. SVM(Support Vector Machine)
- 초평면이 가장 가까운 학습 데이터 점과 큰 차이를 가지고 있으면 분류 오차가 작음
- 좋은 분류를 위해서는 어떤 분류된 점에 대해서 가장 가까운 학습 데이터와 가장 먼 거리를 가지는 초평면 찾는 기법
- SVM은 결정영역의 초평면을 둘러싸고 있는 마진(margin)을 최대화시키는 기법
6. 인공신경망(Artificial Neural Network; ANN)
- 동물의 뇌신경계(뉴런)를 모방하여 분류(또는 예측)을 위해 만들어진 모형
- 인공신경망에서 입력(input)은 시냅스에 해당하며 개별신호의 강도에 따라 가중(weight) 되며, 활성함수 (activation function)는 인공 신경망의 출력(output)을 계산한다.
- 많은 데이터에 대해 학습(learning 또는 training)을 거쳐, 원하는 결과가 나오도록(오차가 작아지는 방향으로) 오차가 작아지는 방향으로 가중치가 조정된다.
1) 단층 신경망(Single-Layer Neural Network) = 퍼셉트론(Perceptron)
- 입력층이 (은닉층을 거치지 않고) 직접 출력층에 연결되는 신경망
- 단층 신경망의 구성: 입력층, 활성화 함수, 출력층
- 활성화함수(Activation Function) 종류
- 소프트맥스(Softmax) 함수
-- 표준화 지수(또는 일반화 로지스틱) 함수로도 불리우며, 출력값 z가 여러 개(L개)로 주어지고, 목표치가 다범주인 경우 각 범주에 속할 사후 확률을 제공한다.
-- 출력 값들의 총합은 항상 1이 되는 특성을 가진 함수이다.
yi = exp(zi ) ∑ exp L i=1 (zi ) , j = 1, . . , L
2) 다층(Multi-Layer) 신경망 또는 다중 퍼셉트론(Multi-Perceptron)의 네트워크 구조
- 2개 이상의의 은닉층(hidden layer)을 가지는 다층신경망의 구조이며, 그 목적은 입력벡터 x를 출력벡터 y(x)로 맵핑하는 것
3) 다층 신경망 용어 정의
(1) 최적화(Optimization)
- 목표로 하는 최적화 값(일반적으로 최댓값 혹은 최솟값)을 각 탐색 범위 내에서 조절함으로써 주어 진 비용함수(cost function) 값을 최소화 또는 최대화하는 해를 찾아내는 방법, 파라미터(Hyper Parameter)의 값을 찾는 것
- 최적화 알고리즘의 종류
-- 경사하강법(Gradient Descent), 확률적 경사하강법(SGD), 미니 배치 확률적 경사하강법, AdaGrad, RMSProp, Adam등
(2) 경사 하강법(Gradient Descent)
- 비용함수의 낮은 지점을 찾아가는 최적화 방법
- 낮은 쪽의 방향을 찾기 위해 오차함수를 현재 위치에서 미분함
(3) 최적화 기법의 종류
- 전역 최적화 기법(global optimization method), 지역 최적화 기법(local optimization method) - 전역 최적화 기법
-- 다소 시간이 걸리더라도 전체 탐색영역 에서 가장 좋은 해를 찾는 것을 목표로 하는 기법
- 지역 최적화 기법
-- 단시간에 일부 탐색영역 내에서 가장 좋은 해를 찾는 것을 목표로 하는 기법
(4) 기울기 소실 문제(Vanishing Gradient Problem)
- 은닉층이 많은 다층 퍼셉트론에서, 은닉층을 많이 거칠수록 전달되는 오차가 크게 줄어들어 학습이 되지 않는 현상이 발생하는데, 이를 기울기 소멸 문제라고 함
- 기울기기가 거의 0으로 소멸되어 버리면 네트워크의 학습은 매우 느려지고, 학습이 다 이루어지지 않은 상태에서 멈추게 되는 현상 - 시그모이드 함수와 같은 경우 출력 값이 1 아래여서 기울기 소멸 문제가 빠르게 일어난다.(0보다 작 은 수끼리 계속 곱하면서 연산했을 때 값이 0에 가까워지는 현상이 생기게 됨)
- 기울기 소실 문제의 해결 방법
-- 사라져가는 성질을 갖지 않는 렐루(ReLU)함수를 선택하면 해결할 수 있음.
-- 렐루(ReLU) 함수: 입력이 0보다 작거나 같으면 0, 0보다 크면 입력값을 리턴하는 함수
(5) XOR 문제
- OR, AND 그래프에서는 데이터를 분류할 수 있는 선형 라인을 정의할 수 있지만, XOR 그래프의 비선형에서는 분류가 불가능한 문제
- XOR 문제를 해결 방법 => 다층 퍼셉트론 사용, 딥러닝의 역전파(BackPropagation) 알고리즘 이용
(6) 역전파(Backpropagation) = 오차 역전파
- 다층 퍼셉트론 학습에 사용되는 통계적 기법
- 다층 퍼셉트론의 구성은 입력층
- 은닉층 - 은닉층 - ... - 출력층으로 구성되며, 각 층은 서로 교차되는 weight 값으로 연결되어 있다. 출력층에서 제시한 값에 대해, 실제 원하는 값으로 학습하는 방법으로 통계적 방법에 의한 오차역전법을 사용한다.
- 오차역전파는 동일 입력층에 대해 원하는 값이 출력되도록 개개의 weight 를 조정하는 방법으로 사용되며, 속도는 느리지만, 안정적인 결과를 얻을 수 있는 장점이 있어 기계 학습에 널리 사용되고 있다.
- 순전파 → 역전파 → 가중치 업데이트 → 순전파 … 로 계속 반복해 가면서 오차값이 0 이 가까워 지도록 학습한다.
3. 비지도학습-군집분석
1. 군집 분석(cluster analysis) 의 개요
- 각 객체에 대해 관측된 여러 개의 변수 값들로부터 유사한 성격을 가지는 몇 개의 군집으로 집단화하고, 형 성된 군집들의 특성을 파악하여 군집들 사이의 관계를 분석하는 다변량 분석 기법
- 다변량 자료는 별도의 반응변수가 요구되지 않으며, 오로지 개체들 간의 유사성(similarity)에만 기초하여 군 집을 형성
- 이상값 탐지, 심리학, 사회학, 경영학, 생물학 등에 이용
- 군집화의 방법: 계층적 군집, 비계층적 군집, 밀도-기반군집, 모형-기반군집, 격자-기반군집, SOM(Self-Organization Map)
2. 계층적 분석(hierarchical clustering)
- 가장 유사한 개체를 묶어 나가는 과정을 반복하여 원하는 개수의 군집을 형성하는 방법
- 덴드로그램(dendrogram) 형태로 결과가 주어짐
- 각 개체는 하나의 군집에만 속하게 된다.
- 개체 간의 유사성(또는 거리)에 대한 다양한 정의가 가능
(1) 계층적 군집을 형성하는 방법(2가지)
① 병합적 방법: 작은 군집 → 군집을 병합해 나가는 방법
- 한 개의 항목으로 시작하여 군집을 형성해 나가는 매 단계마다 모든 그룹 쌍 간의 거리를 계산하여 가까운 순으로 병합 수행, 이 과정을 한 개 그룹만 남을 때까지 반복
- 상대적 거리가 가까울수록 유사성이 높다.
② 분할적 방법 : 큰 군집 → 군집을 분리해 나가는 방법
(2) 군집 간의 병합 시 거리측정(또는 병합) 방법(5가지)
① 최단 연결법, 단일연결법(single linkage method)
- 거리의 최소값으로 측정, 사슬 모양이 생길 수 있으며, 고립된 군집을 찾는데 중점을 둔 방법
- R의 hclust() 함수: hclust(dist(a), method=”single”)
② 최장 연결법, 완전연결법(complete linkage method)
- 거리의 최대값으로 측정, 군집들의 내부 응집성에 중점을 둔 방법
- R의 hclust() 함수: hclust(dist(a), method=”complete”)
③ 중심 연결법(centroid linkage)
- 두 군집의 중심 간의 거리를 측정, 두 군집이 결합될 때 새로운 군집의 평균은 가중평균 이용
- R의 hclust() 함수: hclust(dist(a), method=”centroid”)
④ 평균 연결법(average linkage)
- 모든 항목에 대한 거리 평균을 구함, 계산량이 불필요하게 많아질 수 있다.
- R의 hclust() 함수: hclust(dist(a), method=”average”)
⑤ 와드 연결법(ward linkage)
- 군집 내의 오차제곱합에 기초하여 군집을 수행, 비슷한 군집끼리 병합하는 경향이 있다.
- R의 hclust() 함수: hclust(dist(a), method=”ward.2D”)
(3) 계층적 군집에서 사용하는 거리 측정 방법
- 연속형 변수의 거리 측정 방법
① 유클리드 거리
- 유클리드 거리 √(𝑥2 − 𝑥1) 2 + (𝑦2– 𝑦1) 2
- (예제) (-1, 2, 3)과 (4, 0, -3)의 유클리드 거리: √(4− (−1)) 2 + (0– 2) 2 +(−3– 3) 2 = √25 + 4+ 36 = √65 74
② 맨하튼 거리
- 두좌표 (x1,y1) , (x2,y2) 가 있을때 X 좌표의 차의 절대값 + Y좌표의 차의 절대값 = |(x2 - x1)| + |(y2 - y1)|
- 변수들이 연속형인 경우 사용할 수 있는 측도로 데이터에 이상치가 존재한다고 여겨 지고 그것들을 제거할 수 없는 경우에 사용 할 수 있는 로버스트(Robust)한 측도
③ 민코우스키 거리
- 유클리드거리와 맨해튼 거리 모두 민코프스키 거리에 포함
④ 코사인 유사도(cosine similarity)
- 두 객체 간의 거리에 기반하여 군집을 형성해가는 계층적 군집방법에서 사용되는 측도 중 두 개체의 벡터 내적을 기반하여 아래의 수식으로 계산할 수 있는 유사성 측도
- 내적공간의 두 벡터간 각도의 코사인값을 이용하여 측정된 벡터 간의 유사한 정도를 의미한다.
- 각도가 0°일 때의 코사인값은 1이며, 다른 모든 각도의 코사인값은 1보다 작다. 따라서 이 값은 벡터의 크기가 아닌 방향의 유사도를 판단하는 목적으로 사용되며, 두 벡터의 방향이 완전히 같을 경우 1, 90°의 각을 이룰 경우 0, 180°로 완전히 반대 방향인 경우
-1의 값을 갖는다.
(4) 계층적 군집의 단점
① 매 단계 지역적 최적화 수행하므로 전역적인 최적해 없다.
② 병합적 방법에서 한번 군집이 형성되면 군집에 속한 개체는 다른 군집으로 이동할 수 없다.
③ 와드 연결법인 경우 군집의 크기에 가중을 두어 병합을 시도하므로 크기가 큰 군집과의 병합이 유도될 수 있다.
[기출문제] 아래는 5개의 관측치(a,b,c,d,e)를 가진 데이터셋에서 각 관측치 사이의 유클리드 거리를 계산 한 행렬이다. 계층적 군집방법을 사용할 때 가장 먼저 군집을 이루는 두 관측치는 무엇인가?
정답: d, e (풀이) d와 e 사이의 2.2가 최단 거리이므로 2.2 => (d, e)가 가장 먼저 군집을 이룸
[기출문제] 계층적 군집 분석 아래에 주어진 그림은 1973년 미국 50개 주의 인구 10만명 당 살인, 폭행, 간강 범죄의 회수를 사용한 군집분 석의 결과이다. 맞는 설명과 틀린 설명을 표시하라.
① 비계층적 군집화의 결과를 나타내는 그림이다.
② 군집 간의 거리를 정의하기 위해 평균연결법이 사용되었다.
③ 4개의 집단으로 군집화할 경우 Florida는 California와 같은 집단에 속하지 않는다.
④ 군집 간의 거리를 정의하는 방법에 따라 서로 다른 군집화 결과를 얻을 가능성이 있다.
정답: 1번
- (예) 최단연결법을 이용한 계층적 군집분석 과정
3. 비계층 군집분석 : k-평균 군집(k-means clustering)
(1) k-평균 군집의 개요
- k-평균 군집에서 군집의 수(k)는 미리 정해주어야 함
- k-개의 초기 중심값은 임의로 선택, 자료값 중 무작위 선택
- 초기 중심점들은 서로 멀리 떨어져 있는 것이 바람직, 초기값에 따라 군집 결과가 크게 달라질 수 있다.
- k-평균 군집은 군집의 매 단계마다 군집 중심으로부터 오차 제곱합을 최소화하는 방향으로 군집을 형성해 나가는(부분 최적화 수행하는) “탐욕적 알고리즘”으로 간주될 수 있으며, 안정된 군집은 보장 하나 전체적 으로 최적이라는 것은 보장하지 못한다.
(2) k-평균 군집의 절차(알고리즘)
단계 1) 군집의 수만큼(k개) 초기값을 지정하고,
단계 2) 각 개체를 가까운 초기값에 할당하여 군집을 형성한 뒤,
단계 3) 각 군집의 평균을 재계산하여 초기값을 갱신한다.
단계 4) 갱신된 값에 대해 위의 할당과정을 반복하여 k개의 최종 군집을 형성한다.
(3) k-평균 군집의 장점
① 주어진 데이터의 내부 구조에 대한 사전정보 없이 의미있는 자료구조를 찾을 수 있음
② 다양한 형태의 데이터에 적용이 가능
③ 분석방법 적용이 용이함
(4) k-평균 군집의 단점
① 가중치와 거리 정의가 어려움
② 초기 군집수를 결정하기 어려움
③ 사전에 주어진 목적이 없으므로 결과 해석이 어려움
④ 잡음이나 이상값에 영향을 많이 받음(군집 중심 계산 과정)
⑤ 볼록한 형태가 아닌(non-convex) 군집(U-형태 군집)이 존재할 경우에는 성능이 떨어진다.
⑥ 이상값 자료에 민감한 k-평균군집의 단점을 보완하는 방법
→ 매 단계마다 평균 대신 중앙값을 사용하는 k-중앙값 군집 사용, 탐색적 자료 분석을 통해 이상값을 미리 제거하는 방법
4. 혼합 분포 군집
- 모형-기반(model-based)의 군집 방법, 혼합모형에서 모수와 가중치의 추정을 위해 사용되는 알고리즘
- 데이터가 k개의 모수적 모형의 가중합으로 표현되는 모집단 모형으로부터 나왔다는 가정하에서 모수와 함께 가중치를 자료로부터 추정하는 방법
- k개의 각 모형은 군집을 의미하며, 각 데이터는 추정된 k개의 모형 중 어느 모형으로부터 나왔을 확률이 높 은지에 따라 군집의 분류가 이루어진다.
- 혼합모형에서 모수와 가중치의 추정 → EM 알고리즘 사용
- EM(Expectation Maximizaion) 알고리즘의 진행 과정
1) E-단계: 잠재변수 Z의 기대치 계산
2) M-단계: 잠재변수 Z의 기대치를 이용하여 파라미터 추정
5. SOM(Self-Organizing Maps, 자가 조직화 지도)
(1) SOM의 개요
- 코호넨에 의해 제시, 개발되었으며 코호넨 맵이라고 함, 비지도 신경망
- 고차원 데이터를 이해하기 쉬운 저차원이 뉴런으로 정렬하여 지도(map)의 형태로 형상화
- 입력의 위치 관계를 그대로 보존한다는 특징이 있다.
- 실제 공간의 입력변수가 가까이 있으면 지도상에도 가까운 위치에 있게 됨
(2) SOM의 특징
- 고차원의 데이터를 저차원의 지도 형태로 형상화하기 때문에 시각적으로 이해가 쉬움
- 입력 변수의 위치 관계를 그대로 보존하기 때문에 실제 데이터가 지도 상에서 가깝게 표현되며, 이런 특징 때문에 패턴 발견, 이미지 분석 등에서 뛰어난 성능을 보임
- 역전파(Back Propagation) 알고리즘 등을 이용하는 인공신경망과 달리 단 하나의 전방 패스(feed-forward flow)를 사용함으로써 속도가 매우 빠르므로 실시간 학습처리를 할 수 있는 모형임
6. 군집 모델 평가: 실루엣 계수(silhouette coefficient)
- 각 군집 간의 거리가 얼마나 효율적으로 분리되어 있는지를 나타내는 지표 - 군집화가 잘 될 수록 개별 군집은 비슷한 정도의 여유공간을 가지고 떨어져 있다.
- 개별 데이터가 해당 데이터가 같은 군집 내의 데이터와 얼마나 가깝게 군집화 되어 있고, 다른 군집에 있는 데이터와는 얼마나 멀리 분리되어 있는지를 나타내는 지표 - 0에서 1사이의 값을 가지고 있고, 1에 가까울수록 좋은 지표이다.
4. 비지도학습-연관분석
1. 연관 분석의 개요
- 기업의 데이터베이스에서 상품의 구매, 서비스 등 일련의 거래 또는 사건들 간의 규칙을 발견하기 위한 분 석
- 장바구니 분석(market based analysis), 순차 분석 등이 있음
- 1) 연관규칙분석(=장바구니 분석): 장바구니에 무엇이 같이 들어있는지에 대한 분석
예) 미국 마트에서 맥주를 사는 고객은 기저귀를 동시에 구매한다는 연관규칙을 찾아냄 -> 맥주와 기저귀를 인접한 진열대에 위치해 놓으면 매출 증대를 기대할 수 있다.
- 2) 순차분석: 구매 이력을 분석해서 A품목을 산 후 추가 B품목을 사는지를 분석
예) 휴대폰을 새로 구매한 고객은 한달 내에 휴대폰 케이스를 구매
2. 연관 분석 형태
- ‘조건-결과’(if – then)식으로 표현되는 유용한 패턴 규칙을 발견해내는 분석
- “if A then B”: 만일 A가 일어나면 B가 일어난다.
3. 연관 분석의 측정 지표
- 도출된 연관규칙이 얼마나 유의미 한지 평가하는 지표
① 지지도(support)
- 전체 거래 중에서 품목 A, B가 동시에 포함되는 거래의 비율
- 전체 구매 경향을 파악 지지도 = 𝑃(𝐴 ∩ 𝐵) 전체거래수(𝑁) = A와B가동시에포함된거래수 전체거래수(N)
② 신뢰도(confidence)
- 품목 A가 포함된 거래 중에서 품목 A, B를 동시에 포함하는 거래일 확률, A → B - 연관성의 정도 파악
- 조건부 확률로 “품목 A를 구매한 사람은 품목 B도 구매하더라.” 신뢰도 = P(A∩B) P(A) = A와B가동시에포함된거래수 A를포함하는거래수
③ 향상도(lift)
- 품목 B를 구매한 고객 대비 품목 A를 구매한 후 품목 B를 구매하는 고객에 대한 확률
향상도 = P(B|A) P(B) = P(A ∩ B) P(A)P(B) = A와B를포함하는거래수 × 전체거래수(N) A를포함하는거래수 × B를포함하는거래수
- A → B는 품목 A와 품목 B의 구매가 서로 관련이 없는 경우는 P(B|A) = P(B)이므로 향상도는 1이 된다.
- 만일 향상도가 1보다 크면 이 규칙은 결과를 예측하는데 있어서 우수하다는 것을 의미한다.
- 향상도 = 1 : 두 품목이 서로 연관성이 없는 독립 관계
- 향상도 > 1 : 두 품목이 서로 양의 관계 -> 품목 B를 구매할 확률보다 품목 A를 구매하고 품목 B를 확률이 높다는 것을 의미
- 향상도 < 1 : 두 품목이 음의 관계, 두 품목은 연관성이 없다.
4. 연관 분석 절차 : Apriori 알고리즘
- 최소 지지도보다 큰 집합만을 대상으로 높은 지지도를 갖는 품목 집합을 찾는다.
① 최소 지지도를 설정한다.
② 개별 품목 중에서 최소 지지도를 넘는 모든 품목을 찾는다.
③ 2에서 찾은 개별 품목만을 이용하여 최소 지지도를 넘는 2가지 품목 집합을 찾는다.
④ 위의 두 절차에서 찾은 품목 집합을 결합하여 최소 지지도를 넘는 3가지 품목 집합을 찾는다.
⑤ 반복적으로 수행해 최소 지지도가 넘는 빈발 품목 집합을 찾는다.
5. 연관 분석의 장점
① 탐색적 기법: 조건 반응(if-then)으로 표현되는 연관 분석의 결과를 이해하기 쉽다.
② 강력한 비목적성 분석기법: 분석 방향이나 목적이 특별하게 없는 경우 목적 변수가 없으므로 유용
③ 사용이 편리한 분석 데이터의 형태: 거래 내용에 대한 데이터를 변환 없이 그 자체로 이용할 수 있는 간단 한 자료구조를 갖는 분석방법
④ 계산의 용이성: 분석을 위한 계산이 상당히 간단하다.
6. 연관 분석의 단점
① 상당한 수의 계산 과정 : 품목 수가 증가하면 분석에 필요한 계산은 기하급수적으로 늘어난다.
② 적절한 품목의 결정 : 너무 세분화된 품목을 가지고 연관규칙을 찾으려고 하면 의미없는 분석 결과가 나올 수도 있다.
③ 품목의 비율 차이 : 상대적으로 거래량이 적은 품목은 당연히 포함된 거래수가 적을 것이고, 규칙 발견 시 제외되기 쉽다.
7. 순차 분석
- 시간에 따른 구매 정보를 활용하여 연관 규칙을 발견
- 순차패턴이 연관규칙 A → B는 “품목 A를 구매하면 추후에 품목 B도 구매한다.”고 해석
- (예) 새로 컴퓨터를 구입한 사람들 중 25%는 그 다음 달에 레이저 프린터를 구입할 것이다.
- 구매 시점에 대한 정보가 있어야 한다.
- (예1) 연관 분석의 예
고객번호 | 품목 |
1 | 오렌지쥬스, 사이다 |
2 | 우유, 오렌지쥬스, 식기세척기 |
3 | 오렌지쥬스, 세제 |
4 | 오렌지쥬스, 세제, 사이다 |
5 | 식기세척제, 사이다 |
* 연관성 규칙 : 오렌지쥬스 → 사이다
I) 지지도 = 2/5 = 0.4
ii) 신뢰도 = 2/4 = 0.5
iii) 향상도 = (2*5)/(4*3) = 0.83
- (예2) 연관 분석의 예
고객번호 | 품목 |
1 | {빵, 맥주, 우유} |
2 | {빵, 우유, 계란} |
3 | {맥주, 우유} |
4 | {빵, 맥주, 계란} |
5 | {빵, 맥주, 우유, 계란} |
* 연관성 규칙 : 빵 → 우유
I) 지지도 = 3/5 = 0.6
ii) 신뢰도 = 3/4 = 0.75
iii) 향상도 = (3*5)/(4*4) = 0.9375
- (예3) 연관 분석의 예
거래번호 | 판매 상품 |
1 | 소주, 콜라, 맥주 |
2 | 소주, 콜라, 와인 |
3 | 소주, 주스 |
4 | 콜라, 맥주 |
5 | 소주, 콜라, 맥주, 와인 |
6 | 주스 |
* 연관성 규칙 : 콜라 → 맥주
I) 지지도 = 3/6 = 0.5
ii) 신뢰도 = 3/4 = 0.75
iii) 향상도 = (3*6)/(4*3) = 1.5
- (예4) 연관 분석의 예
물품 | 거래건수 |
{A} | 10 |
{B} | 5 |
{C} | 25 |
{A, B, C} | 5 |
{B, C} | 20 |
{A, B} | 20 |
{A, C} | 15 |
* 연관성 규칙 : A → B
I) 지지도 = (5+20)/100 = 2.5
ii) 신뢰도 = (5+20)/(10+5+20+15) = 25/50 = 0.5
iii) 향상도 = (5+20)*100/(10+5+20+15)*(5+5+20+20) = 2500/(50*50)= 1
'개인공부 > ADsP' 카테고리의 다른 글
[ADsP 정리] 3. 데이터 분석(3) (1) | 2024.05.17 |
---|---|
[ADsP 정리] 3. 데이터 분석(2) (2) | 2024.05.14 |
[ADsP 정리] 3. 데이터 분석(1) (0) | 2024.05.13 |
[ADsP 정리] 2. 데이터 분석기획(2) (0) | 2024.05.09 |
[ADsP 정리] 2. 데이터분석 기획 (0) | 2024.05.06 |