-
- 데이터 마이닝
가. 개요
- 데이터마이닝은 대용량 데이터에서 의미 있는 패턴을 파악하거나 예측하여 의사결정에 활용하는 방법이다.
나. 통계분석과의 차이점
- 통계분석은 가설이나 가정에 따른 분석이나 검증을 하지만 데이터마이닝은 다양한 수리 알고리즘을 이용해 데이터 베이스의 데이터로 부터 의미있는 정보를 찾아내는 방법을 통칭한다.
다. 종류
라. 사용 분야
- 병원에서 환자 데이터를 이용해서 해당 환자에게 발생 가능성이 높은 병을 예측
- 기존 환자가 응급실에 왔을 때 어떤 조치를 먼저 해야 하는지를 결정
- 고객 데이터를 이용해 해당 고객의 우량/불량을 예측해 대출적격 여부 판단
- 세관 검사에서 입국자의 이력과 데이터를 이용해 관세물품 반입 여부를 예측
마. 데이터마이닝의 최근환경
- 데이터마이닝의 도구가 다양하고 체계화되어 환경에 적합한 제품을 선택하여 활용 가능하다.
- 알고리즘에 대한 깊은 이해가 없어도 분석에 큰 어려움이 없다.
- 분석 결과의 품질은 분석가의 경험과 역량에 따라 차이가 나기 때문에 분석 과제의 복잡성이나 중요도가 높으면 풍부한 경험을 가진 전문가에게 의뢰할 필요가 있다.
- 국내에서 데이터마이닝이 적용된 시기는 1990년대 중반이다.
- 2000년대에 비즈니스 관점에서 데이터마이닝이 CRM의 중요한 요소로 부각되었다.
- 대중화를 위해 많은 시도가 있었으나, 통계학 전문가와 대기업 위주로 진행되었다.
-
- 데이터 마이닝의 분석 방법
-
- 분석 목적에 따른 작업 유형과 기법
-
- 데이터 마이닝 추진 단계
- 1단계 : 목적 설정
- 데이터마이닝을 통해 무엇을 왜 하는지 명확한 목적을 설정한다.
- 전문가가 참여해 목적에 따라 사용할 모델과 필요한 데이터를 정의한다.
- 2단계 : 데이터 준비
- 고객정보, 거래정보, 상품 마스터 정보, 웹로그 데이터, 소셜 네트워크 데이터 등 다양한 데이터를 활용한다.
- IT 부서와 사전에 협의하고 일정을 조율하여 데이터 접근 부하에 유의하여야 하며, 필요시 다른 서버에 저장하여 운영에 지장이 없도록 데이터를 준비한다.
- 데이터 정제를 통해 데이터의 품질을 보장하고, 필요시 데이터를 보강하여 충분한 양의 데이터를 확보한다.
- 3단계 : 가공
- 모델링 목적에 따라 목적 변수를 정의한다.
- 필요한 데이터를 데이터 마이닝 소프트웨어에 적용하 수 있는 형식으로 가공한다.
- 4단계 : 기법 적용
- 1단계에서 명확한 목적에 맞게 데이터마이닝 기법을 적용하여 정보를 추출한다.
- 5단계 : 검증
- 데이터마이닝으로 추출된 정보를 검증한다.
- 테스트 데이터와 과거 데이터를 활용하여 최적의 모델을 선정한다.
- 검증이 완료되면 IT부서와 협의해 상시 데이터마이닝 결과를 업무에 적용하고 보고서를 작성하여 추가수익과 투자대비성(ROI)등으로 기대효과를 전파한다.
-
- 데이터 마이닝을 위한 데이터 분할
- 개요
- 모델 평가용 테스트 데이터와 구축용 데이터로 분할하여, 구축용 데이터로 모형을 생성하고 테스트 데이터로 모형이 얼마나 적합한지를 판단한다.
- 데이터 분할
- 구축용(training data)
- 추정용, 훈련용 데이터라고도 불리며 데이터마이닝 모델을 만드는데 활용한다.
- 검정용
- 구축된 모형의 과대추정 또는 과소추정을 미세 조정을 하는데 활용한ㄷ.
- 시험용
- 테스트 데이터나 과거 데이터를 활용하여 모델의 성능을 검증하는데 활용한다.
-
데이터의 양의 충분하지 않거나 입력 변수에 대한 설명이 충분한 경우
가) 홀드아웃 방법 : 주어진 데이터를 랜덤하게 두 개의 데이터로 구분하여 사용하는 방법으로 주로 학습용과 시험용으로 분리하여 사용한다.
나) 교차확인 방법 : 주어진 데이터를 k 개의 하부집단으로 구분하여, k-1개의 집단을 학습용으로 나머지는 하부집단으로 검증용으로 설정하여 학습한다. k번 반복 측정한 결과를 평균낸 값을 최종값으로 사용한다. 주로 10-fold 교차분석을 많이 사용한다.
-
- 성과분석
- 오분류에 대한 추정치
- ROCR 패키지로 성과분석
- ROC Curve(Receiver Operating Characteristic Curve)
- ROC Curve란 가로축을 FPR(False Positive Rate = 1-특이값)으로 두고, 세로 축TPR(True Positive Rae)값으로 두어 시각화한 그래프이다.
- 2진 분류에서 모형의 성능을 평가하기 위해 많이 사용되는 척도이다.
- 그래프가 왼쪽 상단에 가깝게 그려질수록 올바르게 예측한 비율은 높고, 잘못 예측한 비율은 낮음을 의미한다. 따라서 ROC 곡선 아래의 면적을 의미하는 AUROC 값이 크면 클수록 성능이 좋다고 평가한다.
- TPR : 1인 케에스에 대한 1로 예측한 비율
- FPR : 0인 케이스에 대한 1로 잘못 예측한 비율
- AUROC를 이용한 정확도의 판단 기준
- ROC Curve와 AUROC의 활용 예시
- 이익도표(Lift Chart)
- 이익도표의 개념
- 이익도표는 분류모형의 성능을 평가하기 위한 척도로, 분류된 관측치에 대해 얼마나 예측이 잘 이루어졌는지를 나타내기 위해 임의로 나눈 각 등급별로 반응검출율, 반응률, 리프트 등의 정보를 산출하여 나타내는 도표이다.
- 2000명의 전체 고객 중 381 명이 상품을 구매한 경우에 대해 이익도표를 만드는 과정을 예로 들어보면, 먼저 데이터셋의 각 관측치에 대한 예측확률을 내림차순으로 정렬한다. 이후 데이터를 10개의 구간으로 나눈 다음 각 구간의 방응율을 산출한다. 또한 기본 향상도에 비해 반응률이 몇 배나 높은지를 계산하는데 이것을 향상도라고 한다.
- 이익도표의 각 등급은 예측확률에 따라 매겨진 순위이기 때문에, 상위 등급에서는 더 높은 반응률을 보이는 것이 좋은 모형이라고 평가할 수 있다.
- 이익도표의 활용 예시
과적합-과대적합, 과소 적합의 개념!
-
1. 분류분석과 예측분석
가. 분류 분석의 정의
- 데이터가 어떤 그룹에 속하는지 예측하는데 사용되는 기법이다.
- 클러스터링과 유사하지만, 분류 분석은 각 그룹이 정의되어 있다.
- 교사학습(supervised learning)에 해당하는 예측기법이다.
나. 예측분석의 정의
- 시계열 분석처럼 시간에 따른 값 두 개만을 이용해 앞으로의 매출 또는 온도 등을 예측하는 것
- 모델링을 하는 입력 데이터가 어떤 것인지에 따라 특성이 다르다.
- 여러 개의 다양한 설명변수(독립변수)가 아닌, 한 개의 설명변수로 생각하면 된다.
다. 분류 분석, 예측분석의 공통점과 차이점
- 공통점
- 레코드의 특정 속성의 값을, 미리 알아맞히는 점이다.
- 차이점
- 분류 : 레코드(튜플)의 범주형 속성의 값을 알아맞히는 것이다.
- 예측 : 레코드(튜플)의 연속형 속성의 값을 알아맞히는 것이다.
라. 분류, 예측의 예
1) 분류 가) 학생들의 국어, 영어, 수학 점수를 통해 내신등급을 알아맞히는 것 나) 카드회사에서 회원들의 가입 정보를 통해 1년 후 신용등급을 알아맞히는 것 2) 예측 가) 학생들의 여러 가지 정보를 입력하여 수능점수를 알아맞히는 것 나) 카드회사 회원드르이 가입정보를 통해 연 매출액을 알아맞히는 것마. 분류 모델링
- 신용평가 모형
- 사기방지 모형
- 이탈모형
- 고객세분화
바. 분류 기법
- 회귀분석, 로지스틱 회귀분석
- 의사결정나무
- 베이지안 분류
- 인공 신경망
- 지지도벡터기계
- k 최근접 이웃
- 규칙기반의 분류와 사례 기반추론
-
2. 로지스틱 회귀분석
-
로지스틱 회귀 쉽게 알아가기
선형회귀분석과 로지스틱 회귀분석로지스틱회귀(Logistic Regression) 쉽게 이해하기 - 아무튼 워라밸
로지스틱 회귀분석이 왜 나왔는가?
- 로지스틱 회귀 분석은 이진 분류를 수행하는 데 사용된다. 즉, 데이터 샘플을 양성(1) 또는 음성(0) 클래스 둘 중 어디에 속하는지 예측한다.
- 각 속성(feature)들의 계수 log-odds를 구한 후 Sigmoid 함수를 적용하여 실제로 데이터가 해당 클래스에 속할 확률을 0과 1사이의 값으로 나타낸다.
- 손실함수(Loss Function)는 머신러닝 모델이 얼마나 잘 예측하는지 확인하는 방법이다. 로지스틱 회귀의 손실함수는 Log Loss이다.
- 데이터가 클래스에 속할지 말지 결정할 확률 컷오프를 Threshold(임계값)이라 한다. 기본 값은 0.5이지만 데이터의 특성이나 상황에 따라 조정할 수 있다.
- 파이썬 라이브러리 Scikit-learn을 통해 모델을 생성하고 각 속성(feature)들의 계수를 구할 수 있다. 이 때 각 계수(coefficients)들은 데이터를 분류함에 있어 해당 속성이 얼마나 중요한지 해석하는 데에 사용할 수 있다.
- 수학포기자를 위한 딥러닝-#4 로지스틱 회귀를 이용한 분류 모델
-
반응변수가 범주형이 경우에 적용되는 회귀분석모형이다.
-
새로운 설명변수(또는 예측변수가 주어질 떄 반응변수가 각 범주에 속할 확률이 얼마인지를 추정하여, 추정 확률을 기준치에 따라 분류하는 목적으로 활용된다.
-
이때 모형의 적합을 통해 추정된 확률을 사후 확률(Posterior Probability)라고 한다.
- exp($\beta$)의 의미는 나머지 변수가 주어질 때, xr가 한단위 증가할 때마다 성공의 오즈가 몇배 증가하는지를 나타내는 값이다.
- 위 식은 다중로지스틱 회귀모형이며, 그래프의 형태는 설명변수가 한 개인 경우 해당 회귀 계수 베타의 부호에 따라 S자 모영 또는 역 S자 모양을 가진다.
- 표준 로지스틱 분포의 누적분포함수를 F라 할때, 표준 로지스틱 분포의 누적 분포함수로 성공의 확률로 추정한다.
-
최대우도추정법
-
-
3. 의사결정나무
가. 정의
- 의사결정나무는 분류함수를 의사결정 규칙으로 이뤄진 나무 모양으로 그리는 방법이다.
- 나무구조는 연속적으로 발생하는 의사결정 문제를 시각화해 의사결정이 이뤄지는 시점과 성과를 한눈에 볼 수 있게 한다.
- 계산결과가 의사결정나무에 직접 나타나기 때문에 해석이 간편하다.
- 의사결정나무는 주어진 입력값에 대하여 출력값을 예측하는 모형으로 분류나무와 회귀나무 모형이 있다.
나. 예측력과 해석력
- 기대 집단의 사람들 중 가장 많은 반응을 보일 고객의 유치방안을 예측하고자 하는 경우에는 예측력에 치중한다.
- 신용평가에서는 심사 결과 부적격 판정이 나온 경우 고객에게 부적격 이유를 설명해야하므로 해석력에 치중한다.
다. 의사결정나무의 활용
- 세분화
- 데이터를 비슷한 특성을 갖는 몇 개의 그룹으로 분할해 그룹별 특성을 발견하는 것이다.
- 분류
- 여러 예측변수들에 근거해 관측개체의 목표 변수 범주를 몇 개의 등급으로 분류하고자 하는 경우에 사용하는 기법이다.
- 예측
- 자료에서 규칙을 찾아내고 이를 이용해 미래의 사건을 예측하고자 하는 경우이다.
- 차원 축소 및 변수 선택
- 매우 많은 수의 예측 변수 중에서 목표 변수에 큰 영향을 미치는 변수들을, 골라내고자 하는 경우에 사용하는 기법이다.
- 교호작용효과의 파악
- 여러 개의 예측 변수들을 결합해 목표 변수에 작용하는 규칙을 파악하고자 하는 경우
- 범주의 병합 또는 연속형 변수의 이산화 : 범주형 목표 변수의 범주를 소수의 몇개로 병합하거나 연속형 목표 변수를 몇 개의 등급으로 이산화하고자 하는 경우 이다.
라. 의사결정나무의 특징
장점
- 결과를 누구에게나 설명하기 용이하다.
- 모형을 만드는 방법이 계산적으로 복잡하지 않다.
- 대용량 데이터에서도 빠르게 만들 수 있다.
- 비정상 잡음 데이터에 대해서도 민감함이 없이 분류할 수 있다.
- 한 변수와 상관성이 높은 다른 불필요한 변수가 있어도 크게 영향을 받지 않는다.
- 설명변수나 목표 변수에 수치형 변수와 범주형 변수를 모두 사용 가능하다.
- 모형 분류 정확도가 높다.
단점
- 새로운 자료에 대한 과대 적합이 발생할 가능성이 높다.
- 분류 경계선 부근의 자료값에 대해서 오차가 크다.
- 설명변수 간의 중요도를 판단하기 쉽지 않다.
마. 의사결정나무의 분석 과정
- 의사결정나무의 형성과정은 크게 성장, 지치기, 타당성 평가, 해석 및 예측으로 이루어진다.
1) 성장단계
- 각 마디에서 적절한 최적의 분리 규칙을 찾아서 나무를 성장시키는 과정으로 적절한 정지규칙을 만족하며 중단한다.
2) 가지치기 단계
- 오차를 크게 할 위험이 높거나 부적절한 추론규칙을 가지고 있는 가지 또는 불필요한 가지를 제거하는 단계이다.
3) 타당성 평가 단계
- 이익도표, 위험 도표 혹은 시험자료를 이용하여 의사결정나무를 평가하는 단계이다.
4) 해석 및 예측 단계
- 구축된 마무도형을 해석하고 예측 모형을 설정한 후 예측에 적용하는 단계이다.
바. 나무의 성장
- 훈련 자료를 나타내어 나무모형의 성장과정은 x들로 이루어진 입력 공간을 재귀적으로 분할하는 과정이다.
- 분리 규칙(Splitting rule)
- 분리 변수가 연속인 경우
- 분리 변수가 범주형 {1,2,3,4}인 경우
- 최적 분할의 결정은 불순도 감소량을 가장 크게 하는 분할이다.
- 각 단계에서 최적 분리기준에 의한 분할을 찾은 다음 각 분할에 대하여도 동일한 과정을 반복한다.
- 분리 기준
- 이산형 목표 변수
- 연속형 목표 변수
- 정지 규칙
- 더 이상 분리가 일어나지 않고, 현재의 마디가 끝마디가 되도록 하는 규칙
- 정지 기준 : 의사결정나무의 깊이를 지정, 끝마디의 레코드 수의 최소 개수를 지정함.
사. 나무의 가지치기
- 너무 큰 나무 묘형은 자료를 과대 적합하고 너무 작은 나무모형은 과소 적합할 위험이 있다.
- 나무의 크기를 모형의 복잡도로 볼 수 있으며 최적의 나무 크기는 자료로 부터 추정하게 된다. 일반적으로 사용되는 방법은 마디에 속하는 자료가 일정수 이하일 떄 분할을 정지하고 비용 복잡도 가지치기를 이용하여 성장시킨 나무를 가지치기 하게 한다.
- F-value의 의미와 분산분석
- [인공지능] 엔트로피(Entropy) 와 정보이득(Information Gain) 계산
- 카이제곱검정 (Chi square test)
-
4. 불순도의 여러 가지 측도
- 목표변수가 범주형 변수인 의사결정나무의 분류 규칙을 선택하기 위해서는 카이제곱 통계량, 지니지수, 엔트로피 지수를 활용한다.
- 카이제곱 통계량
- 카이제곱 통계량은 각 셀에 대한 ((실제 도수-기대도수)의 제곱/기대도수)의 합으로 구할 수있다.
- 지니지수
- 노드의 불순도를 나타내는 값이다.
- 지니지수의 값이 클수록 이질적이며 순수도가 낮다고 볼 수 있다.
- 엔트로피 지수
- 열역학에서 쓰는 개념으로 무질서 정도에 대한 측도이다.
- 엔트로피 지수의 값이 클수록 순수도가 낮다고 볼 수 있다.
- 엔트로피 지수가 가장 작은 예측 변수와 이때의 최적 분리 규칙에 의해 자식마디를 형성한다.
-
5. 의사결정나무 알고리즘
가. CART
-
앞에서 설명한 방식의 가장 많이 활용되는 의사결정나무 알고리즘으로 불순도의 측도로 출력 변수가 범주형일 경우 지니지수를 이용, 연속형인 경우 분산을 이용한 이진 분리를 사용한다.
-
개별 입력변수 뿐만 아니라 입력변수들의 선형결합들 중에서 최적읠 분리를 찾을 수 있다.
-
cart 알고리즘
나. C4.5와 C5.0
- CART와는 다르게 각 마디에서 다지분리가 가능하며 범주형 입력변수에 대해서는 범주의 수만큼 분리가 일어난다.
- 불순도의 측도로는 엔트로피지수를 사용한다.
다. CHAID
- 가지치기를 하지 않고 적당한 크기에서 나무모형의 성장을 중지하며 입력변수가 반드시 범주형 변수여야 한다.
- 불순도의 측도로는 카이제곱 통제량을 사용한다.
-
-
6. 의사결정나무 예시
가. PARTY 패키지를 이용한 의사결정 나무
- PARTY패키지는 의사결정나무를 사용하기 편한 다양한 분류 패키지 중하나이다.
- 분실값을 잘 처리하지 못하는 문제를 갖고 있는 것이 단점이다.
- TREE에 투입된 데이터가 표시가 되지 않거나 예측이 실패하는 경우 문제가 발생할 수 있다.