자격증/ADsP

[ADsP] 3과목 - 5장 (1,2,3절)

브디크리 2023. 8. 14. 16:42

서론


ADsP Part 3. 5장 정형 데이터 마이닝 (개요, 분류분석, 앙상블 분석) 정리


1. 데이터 마이닝의 개요


  • 데이터 마이닝 : 대용량 데이터에서 의미있는 패턴을 파악하거나 예측하여 의사결정에 활용하는 방법

데이터 마이닝 분석 방법


지도학습 (Supervised Learning)

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

비지도 학습 (Unsupervised Learning)

  • OLAP (On-Line-Analytical Processing)
  • 연관성 규칙 (Association Rule Discovery, Market Basket)
  • 군집 분석 (K-Means Clustering)
  • SOM(Self Organizing Map)

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


목적 작업유형 설명
예측 분류 규칙 가장 많이 사용되는 작업으로, 과거의 데이터로부터 고객 특성을 찾아내어
분류모형을 만들어 이를 토대로 새로운 레코드의 결과 값을 예측하는 것
설명 연관규칙 데이터안에 존재하는 항목간의 종속관계를 찾아내는 작업
연속규칙 연관 규칙에 시간관련 정보가 포함된 형태
(고객의 구매이력 속성이 반드시 필요)
데이터
군집화
고객 레코드들을 유사한 특성을 지닌 몇 개의 소그룹으로 분할하는 작업
(분류 규칙과 유사하지만, 분석대상 데이터에 결과 값이 없다)

데이터 마이닝 추진 단계


  1. 목적 설정
  2. 데이터 준비
  3. 가공
  4. 기법 적용
  5. 검증

데이터 분할


  • 구축용 (Traning Data, 50%, 학습용 데이터)
    : 데이터 마이닝 모델을 만드는데 활용

  • 검정용 (Validation Data, 30%)
    : 구축된 모형의 과대추정 또는 과소추정을 미세 조정하는데 활용

  • 시험용 (Test Data, 20%)
    : 모델의 성능을 검증하는데 활용

성과 분석


오분류표

  실제
T F
예측 T TP (True Positive) FP (False Positive)
F FN (False Negative) TN (True Negative)

 

1) 정분류율 (Accuracy)


2) 오분류율 (Error Rate)

3) 특이도 (Specificity)

4) 민감도 (Sensitivity) == 재현율 (Recall)

5) F1 Score


ROCR 패키지 (R 프로그래밍)


ROC Curve 

  • 가로축 : 1 - 특이도
  • 세로축 : 민감도
  • 왼쪽 상단에 가까울 수록 올바르게 예측한 비율은 높고, 잘못 예측한 비율은 낮음을 의미
    (즉 모형의 성능이 좋다)
  • AUROC (Area Under ROC)값이 크면 클수록 모형의 성능이 좋다.
    (왼쪽 상단가 가까울수록 곡선아래의 넓이가 넓어짐, 최대 넓이 = 1)

출처:https://welcome-to-dewy-world.tistory.com/11

기준 구분
0.9 ~ 1.0 Excellent (A)
0.8 ~ 0.9 Good
0.7 ~ 0.8 Fair
0.6 ~ 0.7 Poor
0.5 ~ 0.6 Fail

이익도표 (Lift Chart)

  • 분류모형의 성능을 평가하기 위한 척도
  • Lift (향상도) = 반응률 / 기본 향상도 (좋은 모델이라면 Lift가 빠른 속도로 감소해야한다.)

2. 분류분석


  • 분류 : 레코드(튜플)의 범주형 속성의 값을 알아맞히는 것

  • 예측 : 레코드(튜플)의 연속형 속성의 값을 알아맞히는 것

오즈 (Odds) : 성공할 확률이 실패할 확률의 몇배인지를 나타내는 확률

오즈비 (Odds Ratio) : 오즈비는 두 오즈의 비율

구분 16강 성공 확률 16강 실패 확률
Brazil 0.8 0.2
Korea 0.1 0.9

오즈비가 36으로, 브라질이 한국보다 16강에 성공할 확률이 36배 높다.


의사결정나무


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

의사결정나무의 활용

  • 세분화
    : 데이터를 비슷한 특성을 갖는 몇 개의 그룹으로 분할해 그룹별 특성을 발견하는 것

  • 분류
    : 목표 변수 범주를 몇 개의 등급으로 분류하고자 하는 경우 사용하는 기법

  • 예측
    : 자료에서 규칙을 찾아내고 이를 이요해 미래의 사건을 예측하고자 하는 경우

  • 차원축소 및 변수선택
    : 목표변수에 큰 영향을 미치는 규칙을 파악하고자 하는 경우

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

의사결정나무의 분석 과정

  1. 성장 단계
    : 각 마디에서 적절한 최적의 분리규칙 (Splitting Rule)을 찾아서 나무를 성장 시키는 과정으로,
    적절한 정지규칙 (Stopping Rule)을 만족하면 중단한다.

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

  3. 타당성 평가 단계
    :이익도표, 위험도표, 혹은 시험자료를 이용하여 의사결정나무를 평가하는 단계

  4. 해석 및 예측 단계
    : 구축된 나무 모형을 해석하고 예측모형을 설정한 후 예측에 적용하는 단계

  • 분리규칙 (Splitting Rule) : 최적 분할의 결정은 불순도 감소량을 가장 크게 하는 분할이다.
기준값 분리기준
카이제곱 통계량 p값 P값이 가장 작은 예측변수와 그 때의 최적분리에 의해서 자식마디 형성
지니 지수 지니 지수를 감소시켜주는 예측 변수와 그 때의 최적분리에 의해서 자식마디를 선택
엔트로피 지수 엔트로피 지수가 가장 작은 예측 변수와 그 때의 최적분리에 의해 자식마디를 형성

불순도 측정

  • 카이제곱 통계량
    : 각 셀에 대한 ((실제 도수 - 기대도수)의 제곱 / 기대도수) 의 합
    (기대도수 = 열의 합계 * 행의 합계 / 전체 합계)

  • 엔트로피 지수 : 무질서 정도에 대한 측도
    (엔트포리 지수가 클수록 순수도가 낮다)

  • 지니지수 : 노드의 불순도를 나타내는 값
    (지니지수 값이 클수록 이질적이며, 순수도가 낮다.)

    ex) 주머니에 (a,a,a,b,c,c,c,d) 라고 적힌 공이 있다. 이때의 지니지수는?
    => 1 - {(a가 나올 확률)^2 + (b가 나올 확률)^2 + (c가 나올 확률)^2 + (d가 나올 확률)^2}


  • 정지규칙 (Stopping Rule) : 더 이상 분리가 일어나지 않고, 현재의 마디가 끝마디가 되도록 하는 규칙
  • 가지치기 (Pruning) : 나무의 크기를 모형 복잡도로 볼 수 있다.
    비용-복잡도 가지치기 (Cost Complexity Pruning)을 이용하여 가치지기

의사결정나무 알고리즘


  • CART (Classification and Regression Tree)
    (불순도의 측도)
    출력(목적)변수가 범주형 : 지니지수
    출력(목적)변수가 연속형 : 분산을 이용한 이진분리 (분산 감소량이 최대인 것)

  • C4.5와 C5.0 : CART와 다르게 다지분리가 가능
    불순도의 측도 : 엔트로피

  • CHAID (CHi-Squared Automatic Interaction Detection)
    :입력변수가 반드시 범주형이어야 한다.
    불순도의 측도 : 카이제곱 통계량

3. 앙상블 분석


  • 여러 개의 예측모형들을 만든 후 예측모형들을 조합하여 하나의 최종 예측 모형을 만드는 방법

배깅 


  • 각 부트스트랩 자료에 예측모형을 만든 후 결합하여 최종 예측모형을 만드는 방법
  • 부트스트랩 (BootStrap) : 주어진 자료에서 동일한 크기의 표본을 랜덤 복원추출로 뽑은 자료를 의미
  • 보팅(Voting) : 여러 개의 모형으로부터 산출된 결과를 다수결에 의해서 최종 결과를 선정하는 과정

  • 여러 모델이 병렬로 학습
  • 서로 다른 훈련데이터 샘플로 훈련, 서로 같은 알고리즘 분류기로 결합

출처:https://velog.io/@qqo222/%EB%B0%B0%EA%B9%85bagging

※ 부트스트랩을 통해 100개의 샘플을 추출하더라도 샘플에 한번도 선택되지 않는 원데이터가 발생할 수 잇는데 전체 샘플의 약 36.8%가 이에 해당한다.


부스팅


  • 예측력이 약한 모형 (Weak Learner)들을 결합하여 강한 예측모형을 만드는 방법
  • 순차적 학습

출처:https://velog.io/@qqo222/%EB%B0%B0%EA%B9%85bagging


랜덤 포레스트 (Random Forest)


  • 약한 학습기들을 생성한 후 이를 선형 결합하여 최종 학습기를 만드는 방법
  • 배깅에 랜덤과정을 추가한 것이다.