Rex 분석 : 의사결정나무

  1. 분석모듈 설명
  2. 의사결정나무(decision tree)는 기계학습 중 하나로 특정 항목에 대한 의사 결정 규칙과 그 결과들을 나무 구조로 분류를 수행할 수 있는 통계분석 모듈입니다. 의사결정나무(decision tree) 의 장점은 분석 과정이 직관적이고 이해하기 쉽고 질적 및 양적변수를 모두 사용할 수 있습니다. 그리고 계산 비용이 낮아 대규모의 데이터에서도 비교적 빠르게 연산이 가능합니다. 데이터마이닝에서 사용되는 결정 트리 분석법은 크게 분류 (classification) 하고 회귀 (regression) 두 종류로 나눕니다. 분류 트리 분석은 예측된 결과로 입력 데이터가 분류되는 클래스를 출력하고, 회귀 나무(regression tree) 분석은 예측된 결과로 특정 의미를 지니는 실수 값을 출력합니다.  의사결정나무(decision tree) 학습법은 지도 분류 학습에서 가장 유용하게 사용되고 있는 기법 중 하나입니다. Classification 와 regression 은 rpart , conditional inference 는 ctree 입니다.
  3. 분석에 사용된 R 패키지 및 함수
  4. * rpart 패키지의 rpart, prune, plotcp, rsq.rpart 함수
    * party 패키지의 ctree 함수
    * caret 패키지의 createDataPartition, confusionMatrix 함수
    * partykit 패키지의 party 함수
  5. User interface: 변수설정 탭
    • 전체변수: 엑셀 스프레드시트에 있는 변수의 목록을 나타냅니다.
    • 종속변수
    • - 종속변수에 해당하는 변수를 전체변수로부터 선택할 수 있습니다. - 필수로 한 개의 변수가 선택되어야 하며 질적 및 양적변수 사용 가능합니다. - 종속변수에 결측치가 존재하는 관측치는 분석에서 제외됩니다.
    • 설명변수
    • - 설명변수에 해당 하는 변수를 전체변수로부터 선택할 수 있습니다. 최소한 한 개 이상 지정해야 합니다. - 종속변수와 중복하여 선택될 수 없습니다. - 설명변수는 질적 변수 및 양적변수 두 종류로 나누어져 있습니다. - 설명변수가 양적일 때 낮은 예측능력을 보일 수 있습니다.
  6. User interface: 분석옵션 탭
    • 분석방법
    • - 분류(classification) 분석 방법은 예측된 결과로 입력 데이터가 분류되는 클래스를 출력합니다. - 회귀(regression) 분석 방법은 예측된 결과로 특정 의미를 지니는 실수 값을 출력 합니다. - 조건부 검정(conditional inference) 방법은 과적합을 피하기 위하여 여러 테스트에 대해 보정 분할 기준으로 비파라미터 (non-parameteric) 테스트를 사용 하는 통계 방법입니다. 이 방법 사용시 가지 치기가 필요하지 않습니다.
    • 전체 데이터 중 훈련데이터의 비율(%): 전체 데이터를 훈련데이터 (training data) 와 검정데이터 (test data) 로 구분시 훈련데이터 비율을 입력합니다. 기본으로 70% 로 지정 됩니다.
    • 가지치기 (Pruning): 선택시 가지치기를 진행합니다. 분석결과가 과적합화(overfitting)의 위험성이 존재할 경우 가지치기 과정을 거쳐서 의사결정나무를 최적화를 합니다.
    • 출력옵션 (그래프유형)
    • - 기본형 옵션 선택시 기본 의사결정 나무를 출력 합니다. - 확장형 옵션 선택시 막대도표가 추가된 의사결정 나무를 출력 합니다. 조건부 검정을 선택시 이 유형의 그래프만 출력 가능합니다.
    • 교차타당성 그래프 출력: 분류분석을 진행할 경우 상대오차(relative error) 결과를 그래프로 출력 해줍니다. 회귀분석을 진행할 경우 추가로 결정계수(r-square) 와 상대오차(relative error) 결과 그래프를 출력 해줍니다. 조건부 검정 분석에서는 그래프 출력 하지 않습니다.
  7. User interface: 예측 탭
    • 새로운 설명변수로 종속변수 예측
    • - 동일한 설명변수의 새로운 데이터로 종속변수를 예측시 이 옵션을 선택하십시오. - 새로 선택된 설명변수의 이름은 다를 수 있지만, 동일한 유형의 데이터 여야 합니다.
  8. 결과출력창 해석
    •  	
    • Data Structure: 전체 관측치 수(Number of observations), 모형 적합에 사용된 관측치 수(Number of observations for model fitting), 분석에 사용된 종속 변수의 수(Number of Dependent variables)를 나타냅니다.
    • Variable List: 종속변수(Dependent variables)와 모형적합에 사용된 설명변수(Attributes for model fitting)들을 나타냅니다.
    • Analysis Description: 적합 모형(Fitted model), 훈련데이터 생성 비율(% of data that goes to training), 분석 방법(Method), 가지치기 여부(Tree pruning)을 나타냅니다.
    • Model Fit with Training Datasets: 훈련데이터로 적합된 모형의 나무 그래프를 나타냅니다.
    • Complexity Parameter Table of Fitted Tree: 적합된 의사결정나무 모형의 복잡성 매개변수 테이블 (complexity parameter table) 을 나타냅니다.
    • Cross Validation Plot of Fitted Tree: 교차검증 결과 그래프를 나타냅니다.
    • Analysis Result after Pruning: 가지치기 실행 후 분석 결과를 나타냅니다. 가지치기 후 나무 그래프(Tree Plot of Pruned Model), 가지치기 후 복잡성 매개변수 테이블(Complexity Parameter Table of Pruned Tree), 가지치기 후 교차검증 결과 그래프(Cross Validation Plot of Pruned Tree)를 출력합니다.
    • Predicted Result with Test Datasets: 검증데이터를 사용한 예측 결과를 나타냅니다. 분류 분석 진행 시 혼동행렬(Confusion Matrix), 예측 정확도 보여주는 전반적인 통계치(Overall Statistics) 및 (Statistics by Class)를 나타냅니다. 회귀 분석 진행 시 예측 결과 값과 관측결과 값 의 비교 그래프를 나타냅니다.
  9. Warning 메세지
  10. * 아무런 집단변수도 포함하지 않으면 아래의 메시지와 함께 분석이 종료됩니다 ("Error : At least 1 group variable should be selected. Analysis has been stopped. ")
    * 질적 변수 선택창에 양적변수를 선택시 아래와 같은 경고문이 나타납니다 ("Warning : The type of variable OOO is not numeric but selected as the quantitative variable. It was excluded from the analysis.")
    * 양적변수 선택창에 질적 변수를 선택시 아래와 같은 경고문이 나타납니다 ("Warning : The type of variable OOO is numeric but selected as the qualitative variable. It was coerced into character. ")
    * 조건부 검정 방법을 선택시 가지치기 선택될 경우 아래의 메시지와 함께 분석이 종료됩니다 ("Error : Please choose correct tree method. Pruning is not available for 'conditional inference'.")
    * 복잡성 매개변수 테이블은 분류분석('class'), 회귀분석('reg')선택시 가능 합니다. 조건부 검정('conditional inference')방법을 선택시 아래의 메시지와 함께 분석이 종료됩니다 ("Error : Please choose correct tree method: complexity parameter table is suitable for 'class' or 'reg'.")
    * 모형 적합 되지 않을 경우, 혹은 root 만 생길 경우 아래의 메시지와 함께 분석이 종료됩니다 ("Error: ERROR! 'x' is a list, but does not have components 'x' and 'y', ERROR! fit is not a tree, just a root.")
    * 예측분석으로 선택된 새로운 변수들의 값은 모형 적합시 사용한 변수들의 값과 다른 종류일 때 경고문이 나타납니다 (Error : The variables in prediction should be similar with variables in the model fitting. Please check the variables again.")