본문 바로가기
AI 관련/ADsP, ADP

ADSP 요약정리 - 4장 정형데이터 마이닝 - 분류분석(Classification Analysis)

by 팀장일기 2021. 10. 5.

제 2절 분류분석 (Classification Analysis)

 1. 분류모델링 

   - 분류분석 : 데이터의 실체가 어떤 그룹에 속하는지 예측하는데 사용하는 데이터 마이닝 기법 

    * 특정 등급으로 나누는 점에서 군집분석과 유사하나 각 계급이 어떻게 정의 되는지 미리 알아야 함. 

   - 분류(Classification) : 객ㅊ를 정해놓은 범주로 분류하는데 목적 

    * CRM에서는 고객행동예측, 속성파악에 응용. 다양한 분야에서 활용 가능

   - 많은 경우 분류모델 개발할 때는 train data/ test data 구분지어 모델링 

    * 전체 데이터를 7:3, 8:2 등으로 나눠 train 해서 최적모델 확정짓고 test로 검증 

    * train과 test간 편차 없어야 하며 성능은 test가 다소 낮게 나오는 경향 

   - 분류를 위해 사용되는 데이터 마이닝 기법 

    * 최근접이웃 (nearest neighborhood), 의사결저아무(decision tree), 베이지안 정리를 이용한 분류, 인공신경망(artifical neural network), 지지도 벡터기계 (support vector machine), CARET(classification and regression tree)등 

     - 상황판단, 속하는 분류 집단 특성, 예측에도 사용 

 

  가. 의사결정나무 

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

    * 나무의 구조에 기반한 예측모델을 갖는 데이터를 분류하기 위한 질문, 잎은 분류 결과에 따라 분리된 데이터 의미

    * 연속적으로 발생하는 의사결정문제를 시각화해 의사결정이 이뤄지는 시점과 성과를 한눈에 볼 수 있게 하며 계산 결과가 의사결정나무에 직접 나타나 분석 간편 

 

  나. 의사결정나무의 활용

   - 세분화(segmentation) : 데이터를 비슷한 특성을 가는 몇 개 그룹으로 분할해 그룹별 특성 발견, 각 고객이 어떤 집단에 속하는지 파악 

   - 분류(classification, stratification) :  관측개체를 여러 예측변수들에 근거해 목표변수의 범주를 몇 개 등급으로 분류하고자 하는 경우

   - 예측 : 자료에서 규칙 찾고 이를 이용해 미래 사건 예측 

   - 차원축소 및 변수선택 : 매우 많은 예측변수 중 목표변수에 큰 영향 미치는 벼수 골라냄 

   - 교호작용효과의 파악 (interaction effect identification) :여러 예측변수들을 결합해 목표 변수에 작용하는 규칙 파악

   - 범주의 병합 또는 연속형 변수의 이산화 : 범주형 목표번수의 범주를 소수 몇개로 병합하거나 연속형 목표변수를 몇 개 등급으로 이산화 

 

  다. 의사결정나무의 특성 

   - 의사결정나무 모형 결과는 누구에게나 설명이 용이

   - 의사결정나무 알고리즘 모형 정확도는 다른 분류모형에 뒤지지 않음

   - 만드는 방법은 계산적으로 복잡하지 않아 대용량 데이터에서도 빠르게 만들 수 있고 한번 모델링하면 소속집단을 모르는 데이터 분류 작업도 빠르게 할 수 있음. 

   - 의사결정나무 알고리즘은 비정상적인 잡은 데이터에 대해서도 민감함 없이 분류 가능

   - 한변수와 매우 상관성 높은 다른 불필요한 변수가 있어도 의사결정나무는 크게 영향 안받음. 그러나 불필요변수 많아지면 나무크기가 커질 수 있으니 분류 전 불필요 변수 제거 작업 필요  

   - R에서 지원되는 분류 방법 

    * rpart, rpartOrdinal, randomForest, party, Tree, marginTree, MapTree 등 다양

 

 2. 성과분석과 스코어링

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

   -party 패키지 핵심 : 의사결정나무(사용편한 다양한 부류 패키지 중 하나) 

    * (문제) 분실값(missin value) 잘 처리 못함. tree에 투입된 데이터 표시 안되거나 predict실패, 명목변수의 테스트 데이터 train과 다르게 처리 등

 

  나. rpart를 이용한 의사결정나무 

   - rpart는 Recursive Partitioning and Regressin Tree로 CART와 유사한 트리 

    * 예측오차 최소화 가능 

 

  다. 랜덤 포레스트 

   - random input에 따른 forest of tree를 이용한 분류방법, 랜덤한 forest에는 만은 tree생성

   - 새로운 오브젝트를 분류하기 위해 forest에 있는 트리에 각각 투입해 각각이 트리들이 voting 함으로써 분류하는 방식 

    * 대용량 데이터에서 효율적으로 실행. 수천개의 변수를 통해 변수제거 없이 실행돼 정확도 측면에서 좋은 성과, 특히 unbalnced 된 클래스의 모집단 잘 지원

    * (제약) 각 category variable의 value 종류가 32개 넘을 수 없음. 

    * (대안) party 패키지의 randomforest 사용 

 

  라. ROCR 패키지로 성과분석 

   - 성과분석 (performance analysis) : ROC analysis, Lift analysis 둥 

    * ROCR 패키지는 binary classification만 지원 

 

  마. CARET(classification and regression tree) 

   - 분류 관련 알고리즘 수 십 가지가 각각 형식이 달라 혼란스러움 

   - 전체적으로 동일한 형식 사용할 수 있게 한 CARET패키지가 나음. 

 

 

댓글