본문 바로가기

ADsP/3장

ADsP 데이터 분석 준전문가 PART 03 - 5장 _1 정형 데이터마이닝

반응형

< 데이터 마이닝 >

대용량 데이터에서 의미 있는 패턴 파악, 예측 -> 의사결정에 활용하는 방법

# 통계 분석과의 차이점

- 통계 분석 : 가설이나 가정에 따른 분석이나 검증

- 데이터마이닝 : 다양한 수리 알고리즘을 이용해 데이터베이스의 데이터로부터 의미 있는 정보를 찾아내는 방법을 통칭

# 종류

정보를 찾는 방법론에 따른 종류

분석대상, 활용목적, 표현방법에 따른 분류

* 인공지능
 의사결정나무
K-평균 군집화
* 연관분석
* 회귀분석
* 로짓 분석
* 최근접 이웃

* 시각화 분석
* 분류
* 군집화
* 포케스팅

# 데이터 마이닝의 최근 환경

- 데이터 마이닝 도구가 다양하고 체계화되어 환경에 적합한 제품을 선택하여 활용 가능

- 알고리즘에 대한 깊은 이해가 없어도 분석에 큰 어려움 없음

- 분석 결과의 품질은 분석가의 역량과 경험에 따라 차이 남 -> 분석 과제의 복잡성이나 중요도 ↑ -> 풍부한 경험을 가진 전문가에게 의뢰해야 함

- 데이터 마이닝이 CRM의 중요한 요소로 부각

< 데이터 마이닝의 분석 방법 >

지도 학습

비지도 학습

* 의사결정 나무
* 인공신경망
* 일반화 선형 모형
* 회귀분석
* 로지스틱 회귀분석
* 사례기반 추론
* 최근접 이웃법 (KNN)

* OLAP
* 연관성 규칙 발견
: 장바구니 분석
* 군집분석
* SOM

< 분석 목적에 따른 작업 유형과 기법 >

목적

작업유형

설명

사용기법

예측

분류 규칙

* 가장 많이 사용되는 작업
* 과거의 데이터로부터 고객 특성 찾아냄 -> 분류 모형 -> 새로운 레코드의 결과값을 예측
* 목표 마케팅 및 고객 신용평가 모형에 활용

회귀분석, 판별분석, 신경망, 의사결정 나무

설명

연관 규칙

* 항목 간의 종속관계를 찾아내는 작업
* 제품이나 서비스의 교차판매, 매장 진열, 첨부 우편, 사기 적발 등 다양한 분야에 활용

동시발생 매트릭스

연속 규칙

* 연관 규칙에 시간 관련 정보가 포함된 형태
* 고객의 구매이력 속성 반드시 필용
* 목표 마케팅, 일대일 마케팅에 활용

동시발생 매트릭스

데이터 군집화

* 고객 레코드들을 유사한 특성을 지닌 몇 개의 소그룹으로 분할하는 작업
* 분류 규칙과 유사하나 분석 대상 데이터에 결과값이 없음
* 판촉활동이나 이벤트 대상을 선정하는데 활용

K-Means Clustering

< 데이터 마이닝 추진 단계 >

# 1단계 : 목적 설정

- 데이터 마이닝을 통해 무엇을 왜 하는지 명확한 목적 설정

- 전문가가 참여해 목적에 따라 사용할 모델과 필요 데이터 정의

# 2단계 : 데이터 준비

- 고객정보, 거래정보, 상품 마스터 정보, 웹로그 데이터, 소셜 네트워크 데이터 등 다양한 데이터 활용

- 데이터 접근 부하에 유의, 필요시 다른 서버에 저장하여 운영에 지장 없도록 데이터 준비

- 데이터 정제를 통해 데이터의 품질 보장, 필요시 데이터 보강 -> 충분한 양의 데이터 확보

# 3단계 : 가공

- 모델링 목적에 따라 목적 변수를 정의

- 필요한 데이터를 데이터마이닝 소프트웨어에 적용할 수 있는 형식으로 가공

# 4단계 : 기법 적용

- 1단계에서 명확한 목적에 맞게 데이터마이닝 기법을 적용하여 정보 추출

# 5단계 : 검증

- 데이터 마이닝으로 추출된 정보 검증

- 테스트 데이터와 과거 데이터를 활용하여 최적의 모델 선정

- 검증 완료 -> 데이터마이닝 결과를 업무에 적용하고 보고서를 작성 -> 추가 수익과 투자 대비성(ROI) 등으로 기대효과 전파

< 데이터 마이닝을 위한 데이터 분할 >​

모델 평가용 테스트 데이터와 구축용 데이터로 분할

-> 구축용 데이터 : 모형을 생성

-> 테스트 데이터 : 모형이 얼마나 적합한지 판단

# 구축용(50%) : 데이터마이닝 모델을 만드는데 활용

# 검정용(30%) : 과대추정 또는 과소추정을 미세 조정하는데 활용

# 시험용(20%) : 모델 성능을 검증하는데 활용

# 데이터의 양이 충분하지 않거나 입력 변수에 대한 설명이 충분한 경우

가) 홀드 아웃 방법 : 주어진 데이터를 랜덤 하게 두 개의 데이터로 구분하여 사용하는 방법 (학습용, 시험용)

나 ) 교차 확인 방법 : 주어진 데이터를 K개의 하부 집단으로 구분하고 K-1개의 집단을 학습용, 나머지는 검증용으로 사용 (학습용, 시험용)

< 성과분석 >

1) F1 Score : 정확도와 재현율은 한 지표의 값이 높아지면 다른 지료의 값이 낮아질 가능성이 높은 관계를 지니고 있어 이러한 효과를 보정하여 하나의 지표로 만들어낸 지표

2) 재현율 : 오분류표 중 실제 값이 True인 관측지 중에 예측치가 맞는 정도를 나타내어 모형의 완전성을 평가하는 지표

# ROCR 패키지로 성과분석

1) ROC Curve

- 분류 모형을 평가할 때 사용되는 지표

- x축을 FPR(1-특이도), y축을 TPR(민감도) 값으로 두어 시각화한 그래프

- 2진 분류에서 모형의 성능을 평가하기 위해 많이 사용되는 척도

: 그래프가 왼쪽 상단에 가깝게 그려질수록 올바르게 예측한 비율 ↑, 잘못 예측한 비율 ↓

- ROC 곡선 아래의 면적을 의미하는 AUROC 값이 크면 클수록 모형의 성능이 좋다고 평가!

# 이익 도표

- 분류 모형의 성능을 평가하기 위한 척도

- 분류된 관측치에 대해 얼마나 예측이 잘 이루어졌는지를 나타내기 위해 임의로 나눈 각 등급별로 반응 검출율, 반응률, 리프트 등의 정보를 산출하여 나타내는 도표

- 이익 도표의 각 등급 : 예측 확률에 따라 매겨진 순위, 상위 등급에서는 더 높은 반응률을 보이는 것이 좋은 모형

* 과적합, 과대 적합 : 모형이 학습용 데이터를 과하게 학습 -> 학습 데이터에 대해서는 높은 정확도, BUT 테스트 데이터 혹은 다른 데이터에 적용할 때는 성능이 떨어지는 현상 의미

* 과소 적합 : 모형이 너무 단순하여 데이터 속에 내재되어 있는 패턴이나 규칙을 제대로 학습하지 못하는 경우

< 분류 분석과 예측 분석 >

# 분류 분석의 정의

- 데이터가 어떤 그룹에 속하는지 예측하는 데 사용되는 기법

- 클러스터링과 유사하지만, 분류 분석은 각 그룹이 정의되어 있음

- 교사학습에 해당하는 예측 기법

- 범주형 속성의 값 알아맞히는 것 ex) 내신등급, 신용등급

# 예측 분석의 정의

- 시계열 분석처럼 시간에 따른 값 두 개만을 이용해 앞으로의 매출 등을 예측하는 것

- 모델링을 하는 입력 데이터가 어떤 것인지에 따라 특성이 다름

- 여러 개의 다양한 설명변수가 아닌 한 개의 설명 변수로 생각하면 됨

- 범주형 속성의 값 알아맞히는 것 ex) 수능점수, 연 매출액

< 로지스틱 회귀분석 >

- 반응 변수가 범주형인 경우에 적용되는 회귀분석 모형

- 새로운 설명변수가 주어질 때 반응 변수의 각 범주에 속할 확률이 얼마인지를 추정, 추정 확률을 기준치에 따라 분류하는 목적으로 활용

- 이때 모형의 적합을 통해 추정된 확률 : 사후 확률

- 다중 로지스틱 회귀모형 -> 오즈(odds) : 성공할 확률이 실패할 확률의 몇 배인지를 나타내는 확률

목적

선형 회귀분석

로지스틱 회귀분석 glm()

종속변수

연속형 변수

범주형 변수(0,1)

계수 추정법

최소 제곱 법

최대 우도 추정법

모형 검정

F-검정, T-검정

카이제곱 검정

< 의사결정 나무 >

분류 함수를 의사결정 규칙으로 이뤄진 나무 모양으로 그리는 방법

- 나무 구조 : 연속적으로 발생하는 의사결정 문제 -> 시각화 -> 의사결정이 이뤄지는 시점과 성과 한눈에 => 해석이 간편

- 입력값에 대하여 출력 값을 예측하는 모형 [분류 나무, 회귀 나무]

# 의사결정 나무의 구성요소

- 뿌리 마디, 자식 마디, 부모 마디, 끝마디, 중간 마디, 가지, 깊이

# 예측력과 해석력

- 기대 집단의 사람들 중 가장 많은 반응을 보일 고객의 유치방안을 예측하고자 하는 경우 : 예측력에 치중

- 신용평가에서는 심사 결과 부적격 판정이 나온 경우 고객에게 부적격 이유를 설명해야 함 : 해석력에 치중

# 의사결정 나무의 활용

1) 세분화

- 데이터를 비슷한 특성을 갖는 몇 개의 그룹으로 분할 -> 그룹별 특성 발견

2) 분류

- 여러 예측 변수들에 근거해 관측개체의 목표변수 범주를 몇 개의 등급으로 분류하고자 하는 경우에 사용되는 기법

3) 예측

- 자료에서 규칙을 찾아내고 이를 이용해 미래의 사건 예측

4) 차원 축소 및 변수 선택

- 매우 많은 수의 예측변수 중, 목표 변수에 큰 영향을 미치는 변수들을 골라내고자 하는 경우에 사용

5) 교호 작용효과의 파악

- 여러 개의 예측 변수들을 결합해 목표 변수에 작용하는 규칙을 파악하고자 하는 경우

- 범주의 병합 또는 연속형 변수의 이산화

# 의사결정 나무의 특징

[ 장점 ]

- 설명하기 용이, 계산적으로 복잡 X

- 빠르게 만들 수 있으며 비정상 잡음 데이터에 대해서도 민감함이 없이 분류 가능

- 한 변수와 상관성이 높은 다른 불필요한 변수가 있어도 크게 영향받지 않음

- 설명 변수나 목표 변수에 수치형 변수와 범주형 변수 모두 사용 가능

- 모형 분류 정확도 ↑

[ 단점 ]

- 새로운 자료에 대한 과대 적합 발생 가능성 ↑

- 분류 경계선 부근의 자료 값에 대해서 오차 ↑

- 설명 변수 간의 중요도 판단하기 어려움

# 의사결정 나무의 분석 과정

- 성장, 가지치기, 타당성 평가, 해석 및 예측

1) 성장단계

- 각 마디에서 적절한 최적의 분리 규칙 찾아서 나무를 성장시키는 과정

- 적절한 정지 규칙을 만족하면 중단

2) 가치 치기 단계

- 오차를 크게 할 위험이 높거나 부적절한 추론 규칙을 가지고 있는 가치 또는 불필요한 가치 제거하는 단계

3) 타당성 평가 단계

- 이익 도표, 위험 도표, 시험 자료 이용 -> 의사결정 나무 평가

4) 해석 및 예측 단계

- 구축된 나무모형 해석, 예측모형 설정 -> 예측에 적용

# 나무의 성장

1) 분리 규칙 : 각 단계에서 최적 분리 기준에 의한 분할 찾아 -> 다음 각 분할에 대하여도 동일한 과정 반복

2) 분리기준

- 이산형 목표 변수

기준값

분리기준

카이제곱 통계량 P값

P값이 가장 작은 예측 변수와 그때의 최적 분리에 의해서 자식 마디를 형성

지니 지수

지니 지수를 감소시켜주는 예측변수와 그 때의 최적 분리에 의해서 자식 마디를 선택

엔트로피 지수

엔트로피 지수가 가장 작은 예측 변수와 이때의 최적 분리에 의해 자식 마디를 형성

- 연속형 목표 변수

기준값

분리기준

분산분석에서 F 통계량

P값이 가장 작은 예측 변수와 그때의 최적 분리에 의해서 자식 마디를 형성

분산의 감소량

분산의 감소량을 최대화하는 기준의 최적 분리에 의해서 자식 마디를 선택

3) 정지 규칙

- 더 이상 분리가 일어나지 않고, 현재의 마디가 끝마디가 되도록 하는 규칙

- 정지 기준 : 의사결정 나무의 깊이를 지정, 끝마디의 레코드 수의 최소 개수 지정

# 나무의 가지치기

- 너무 큰 나무 모형 : 과대 적합 위험

- 너무 작은 나무 모형 : 과소 적합 위험

- 나무의 크기 : 모형의 복잡도, 최적의 나무 크기: 자료로부터 추정

- 자료가 일정 수 (5) 이하 -> 분할 정지, 비용-복잡도 가치지기 이용

< 불순도의 여러 가지 측도 >

목표 변수가 범주형 변수인 의사결정 나무의 분류 규칙을 선택하기 위해서는 카이제곱 통계량, 지니 지수, 엔트로피 지수 활용

1) 카이제곱 통계량

- ((실제 도수 - 기대 도수)의 제곱 / 기대도수)의 합

2) 지니 지수

- 노드의 불순도를 나타내는 값

- 지니 지수의 값이 클수록 이질적, 순수도 ↓

3) 엔트로피 지수

- 열역학에 쓰는 개념으로 무질서 정도에 대한 측도

- 엔트로피 지수의 값이 클수록 순수도가 낮다고 볼 수 있음

- 엔트로피 지수가 가장 작은 예측 변수와 이때의 최적 분리 규칙에 의해 자식 마디 형성

< 의사결정 나무 알고리즘 >

1) CART

- 불순도의 측도로 출력 변수가 범주형일 경우 : 지니 지수

연속형인 경우 : 분산을 이용한 이진 분리

- 개별 입력 변수뿐만 아니라 입력 변수들의 선형 결합들 중에서 최적의 분리 찾음

2) C4.5, C5.0

- CART와 다르게 각 마디에서 다지 분리 가능, 범주형 입력 변수에 대해서는 범주의 수만큼 분리가 일어남

- 불순도의 측도 : 엔트로피 지수 사용

3) CHAID

- 가지치기하지 않고 적당한 크기에서 나무 모형의 성장 중지하며 입력 변수가 반드시 범주형 변수이어야 함

- 불순도의 측도 : 카이제곱 통계량 사용

< 의사결정 나무 예시 >

# party 패키지를 이용한 의사결정 나무

- [단점] 분실 값을 잘 처리하지 못하는 문제

- tree에 투입된 데이터가 표시가 되지 않거나 predict가 실패하는 경우 -- > 문제 발생

< 앙상블 >

주어진 자료로부터 여러 개의 예측모형을 만든 후 예측 모형들 조합 -> 하나의 최종 예측 모형을 만드는 방법

훈련을 한 뒤 예측하는 데 사용 => 교사학습

모형을 만드는 방법 : 다중모델 조합, 분류기 조합

# 학습방법의 불안전성

- 학습자료의 작은 변화에 의해 예측모형이 크게 변하는 경우 : 그 학습 방법은 불안정

- 가장 안정적인 방법 : 1-nearest neighbor, 선형 회귀모형

- 가장 불안정한 방법 : 의사결정 나무

# 앙상블 기법의 종류

1) 배깅

주어진 자료에서 여러 개의 붓스트랩 자료를 생성 -> 각 붓스트랩 자료에 예측 모형 만든 후 결합 -> 최종 예측 모형을 만드는 방법

- 붓스트랩 : 주어진 자료에서 동일한 크기의 표본을 랜덤 복원 추출로 뽑은 자료 의미

- 보팅 : 여러 개의 모형으로부터 산출된 결과를 다수결에 의해서 최종 결과를 선정하는 과정

- 가지치기 X, 최대로 성장한 의사결정 나무 활용

- 훈련 자료의 모집단의 분포를 모르기 때문에 실제 문제에서는 평균 예측모형을 구할 수 없음

=> 훈련자료를 모집단으로 생각하고 평균 예측모형을 구하여 분산을 줄이고 예측력을 향상할 수 있음.

2) 부스팅

예측력이 약한 모형들을 결합 -> 강한 예측모형을 만드는 방법

- Adaboost : 이진 분류 문제에서 랜덤 분류기보다 조금 더 좋은 분류기 n개에 각각 가중치 설정 -> n개의 분류기 결합 -> 최종 분류기 생성

- 훈련 오차를 빨리 쉽게 줄일 수 있음

=> 배깅에 비해 많은 경우 예측 오차가 향상되어 Adaboost의 성능이 배깅보다 뛰어난 경우 많음

3) 랜덤 포레스트

의사결정 나무의 특징인 분산이 크다는 점을 고려 -> 배깅과 부스팅보다 더 많은 무작위성 -> 약한 학습기들 생성 -> 선형 결합 -> 최종 학습기 생성

- random input에 따른 forest of tree를 이용한 분류 방법

- 랜덤 한 forest에는 많은 트리 생성

- 수천 개의 변수를 통해 변수 제거 없이 실행 -> 정확도 측면에서 좋은 성과 보임

- 이론적 설명이나 최종 결과에 대한 해석이 어렵다는 단점! => but, 예측력이 매우 높음 특히 입력 변수 많은 경우 배깅, 부스팅보다 좋은 예측력!

 

반응형