< 데이터 마이닝 >
대용량 데이터에서 의미 있는 패턴 파악, 예측 -> 의사결정에 활용하는 방법
# 통계 분석과의 차이점
- 통계 분석 : 가설이나 가정에 따른 분석이나 검증
- 데이터마이닝 : 다양한 수리 알고리즘을 이용해 데이터베이스의 데이터로부터 의미 있는 정보를 찾아내는 방법을 통칭
# 종류
정보를 찾는 방법론에 따른 종류 |
분석대상, 활용목적, 표현방법에 따른 분류 |
* 인공지능 |
* 시각화 분석 |
# 데이터 마이닝의 최근 환경
- 데이터 마이닝 도구가 다양하고 체계화되어 환경에 적합한 제품을 선택하여 활용 가능
- 알고리즘에 대한 깊은 이해가 없어도 분석에 큰 어려움 없음
- 분석 결과의 품질은 분석가의 역량과 경험에 따라 차이 남 -> 분석 과제의 복잡성이나 중요도 ↑ -> 풍부한 경험을 가진 전문가에게 의뢰해야 함
- 데이터 마이닝이 CRM의 중요한 요소로 부각
< 데이터 마이닝의 분석 방법 >
지도 학습 |
비지도 학습 |
* 의사결정 나무 |
* OLAP |
< 분석 목적에 따른 작업 유형과 기법 >
목적 |
작업유형 |
설명 |
사용기법 |
예측 |
분류 규칙 |
* 가장 많이 사용되는 작업 |
회귀분석, 판별분석, 신경망, 의사결정 나무 |
설명 |
연관 규칙 |
* 항목 간의 종속관계를 찾아내는 작업 |
동시발생 매트릭스 |
연속 규칙 |
* 연관 규칙에 시간 관련 정보가 포함된 형태 |
동시발생 매트릭스 |
|
데이터 군집화 |
* 고객 레코드들을 유사한 특성을 지닌 몇 개의 소그룹으로 분할하는 작업 |
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, 예측력이 매우 높음 특히 입력 변수 많은 경우 배깅, 부스팅보다 좋은 예측력!
'ADsP > 3장' 카테고리의 다른 글
ADsP 데이터 분석 준전문가 PART 03 - 5장 _3 정형 데이터마이닝 (0) | 2021.03.27 |
---|---|
ADsP 데이터 분석 준전문가 PART 03 - 5장 _2 정형 데이터마이닝 (0) | 2021.03.27 |
ADsP 데이터 분석 준전문가 PART 03 - 4장_3 통계 분석 (0) | 2021.03.27 |
ADsP 데이터 분석 준전문가 PART 03 - 4장_2 통계 분석 (0) | 2021.03.27 |
ADsP 데이터 분석 준전문가 PART 03 - 4장_1 통계 분석 (0) | 2021.03.27 |