- 한남대학교 통계학과...

15
Data Mining [1] <Decision Tree> 충북대학교 통계학과 대학원 석사과정 이청림 1. 개요 l Decision Tree 특징 - 의사결정규칙을 나무구조로 도표화하여 분류와 예측을 수행하는 분석방법 - 나무구조로 표현되기 때문에 신경망, 회귀분석 등의 다른 방법보다 이해가 쉽다. - 복잡한 input/target 관계들을 모형화 있고, 결측값을 하나의 범주로 간주하여 형화 과정에 처리할 있다. - target variable 형태 interval - regression tree categorical - classification tree (여기서는 classification tree 대해서만 알아보도록 ) 2. 예제 자료 설명 l HEMQ data set 내용 범주 변수 설명 목표변수 BAD 대출금 상환 여부 대출신청서 REASON 대출 사유 JOB 직업의 종류(6 개의 범주) LOAN 대출금액 MORTDUE 저당금액 VALUE 현재의 자산 가치 DEBTINC 수입에 대한 부채 비율 YOJ 현재 직장에서의 근무 년수 신용정보기관 DEROG 주요 부실거래의 (파산, 반환권 상실 ) CLNO 금융거래의 DELINQ 부실거래의 CLAGE 가장 오래된 거래의 개월수 NINQ 최근의 신용상태 조회수 - 5,960 명에 대해 대출과 관련된 고객 정보 포함 - 목표변수 BAD 고객이 대출금을 상환하였는지의 여부를 나타내는 변수 - 데이터셋에 포함된 대출금 미상환 고객은 1,189 (20%) 이며, 고객에 대해 12 입력변수로 구성 l 목적 : 은행의 신용평가부서에서 대출승인에 대한 의사결정과정을 자동화하기 위해 고객에 대한 신용평가점수모형을 만들고자 한다.

Upload: nguyenquynh

Post on 06-Sep-2018

212 views

Category:

Documents


0 download

TRANSCRIPT

Data Mining

[1]

<Decision Tree>

충북대학교 통계학과 대학원 석사과정 이청림

1. 개요

l Decision Tree 의 특징

- 의사결정규칙을 나무구조로 도표화하여 분류와 예측을 수행하는 분석방법

- 나무구조로 표현되기 때문에 신경망, 회귀분석 등의 다른 방법보다 이해가 쉽다.

- 복잡한 input/target 관계들을 모형화 할 수 있고, 결측값을 하나의 범주로 간주하여 모

형화 과정에 처리할 수 있다.

- target variable 의 형태

interval -à regression tree

categorical -à classification tree

(여기서는 classification tree 에 대해서만 알아보도록 함)

2. 예제 자료 설명

l HEMQ data set 의 내용

범주 변수 설명 목표변수 BAD 대출금 상환 여부 대출신청서 REASON 대출 사유 JOB 직업의 종류(6 개의 범주) LOAN 대출금액 MORTDUE 저당금액 VALUE 현재의 자산 가치 DEBTINC 수입에 대한 부채 비율 YOJ 현재 직장에서의 근무 년수 신용정보기관 DEROG 주요 부실거래의 수(파산, 반환권 상실 등) CLNO 금융거래의 수 DELINQ 부실거래의 수 CLAGE 가장 오래된 거래의 개월수 NINQ 최근의 신용상태 조회수

- 5,960 명에 대해 대출과 관련된 고객 정보 포함

- 목표변수 BAD는 고객이 대출금을 상환하였는지의 여부를 나타내는 변수

- 데이터셋에 포함된 대출금 미상환 고객은 1,189 명(20%)이며, 각 고객에 대해 12 개

의 입력변수로 구성

l 목적 : 한 은행의 신용평가부서에서 대출승인에 대한 의사결정과정을 자동화하기 위해

각 고객에 대한 신용평가점수모형을 만들고자 한다.

Data Mining

[2]

3. Decision Tree 의 이해

<PFD >

l input data source node 의 설정

1. Input data source node 를 열고 HMEQ data set 을 선택한다.

2. BAD에 대한 Model role 을 target 으로 고정

3. DEROG 에 대한 Measurement scale 을 interval 로 고정

<DEBTINC 변수에 대한 분포도>

l Data partition node : data partition node를 열고 Training , Validation, Test 를 각각 67, 33, 0

으로 지정한 후 저장

l Regression & Decision Tree node : 디폴트 사용

l Assessment node 설정

1. Assessment node 로부터 diagram 을 실행시키고, 결과를 본다.

2. 두 모형(Regression 과 Decision tree)을 선택한다.

3. menu bar 의 Tools à Lift chart 선택

Data Mining

[3]

<Cumulative 이익도표>

- Decision tree 모형이 Regression 모형 위에 있다.

- Decision tree 의 상위 10%는 80%이상의 bad(부실대출자)를 포함한다.

- Regression 의 상위 10%는 66%의 bad 를 포함한다.

<%Captured Response >

- decision tree 의 결과 : 모든 신청서들의 가장 나쁜 30%에게 대출을 거절함으로써 bad

loan(부실 대출)의 80%이상을 제거하게 된다.

- Regression 모형 결과 : 80%정도의 부실대출을 방지하기 위해 50%를 거절해야 한다.

- 두 모형을 비교했을 때 decision tree 모형(default )이 보다 좋은 선택이다.

- 회귀모형에 비해 Decision Tree 의 우수성 – 입력변수(input)들과 목표변수(target)간의 비

선형 관계들을 다룰 수 있다.

Data Mining

[4]

<Neural Network Node 를 추가한 PFD>

1. Neural network node 에서 초기값을 611 로 고정시킨다.

2. Assessment node 로부터 diagram 을 실행시키고 결과들을 본다

3. 세 개의 모형을 선택한다.

4. Menu bar 의 Tools 에서 Lift chart 선택

- neural network 모형은 regression 모형보다는 다소 나은 결과를 수행하지만 decision Tree

가 여전히 가장 좋은 결과를 제시한다.

Data Mining

[5]

<Decision Tree 결과 창> - 7 개의 잎을 취하는 트리구조

<Assessment table> - 88.97%의 validation accuracy 를 제공한다.

1. menu bar 의 View 에서 Tree 를 선택한다.

2. Tools -> tree option 선택한다.

3. Tree depth down field 에 6 이라고 입력한다.

완벽한 tree 구조가 나타남

¨ Tree ring diagram 과 decision tree 구조에서 색깔은 node 의 순수도(purity)를 나타낸다.

만약 노드가 모두 0 이거나 모두 1 을 포함하면 node 색깔은 red

만약 노드가 1 과 0 이 혼합되었다면 node 의 색깔은 yellow

¨ purify 대신에 target proportion 을 나타내기 위해 coloring scheme 을 바꿀 수 있다.

1. decision Tree-Result 창을 선택한다.

2. menu bar 에서 tool à Define colors… 를 선택한다.

Data Mining

[6]

Data Splits-Color Palette가 열린다.

3. Proportion of a Target value 를 선택

4. Target value table 에서 0 을 선택

è red : bad 의 높은 비율

è yellow : bad 와 good 의 균

형된 혼합

è green : goods 의 높은 비율

을 나타내도록 update된다.

- 첫번째 split 은 신청자를 good 들의 집합(applicant 들의 약 3/4)과 good 과 bad 의 혼합

집합(applicant 들의 약 1/4)으로 구분된다.

- 혼합된 집합은 bad 의 집합과 또다른 혼합된 집합으로 분리

- bad 부분들은 더 이상 분리되지 않는다.

- 혼합된 부분들은 good 의 집합과 다른 혼합된 집합으로 분리한다.

l Split 에 대한 정보 : tool bar 의 view info tool 을 사용

1. (view information about point)을 선택한다.

2. 부분들을 정의하는데 사용된 변수를 보기위해 tree ring 의 원하는 부분에서 클릭

e.x) 첫번째 split 에 의해 생성된 혼합된 부분을 선택

- 수입대비 부채비율이 약 45

이상이거나 결측값을 갖는

신청자들로 이루어져 있다.

- 대부분의 applicant 들이

missing value 를 갖고 있음

을 의미한다.

Data Mining

[7]

1. menu bar 에서 Tools à probe Tree rings statistics 를 선택

2. 첫번째 split 에 의해 생성된 혼합된 부분을 다시 선택

이 노드의 약 64%는 부실대출자로 이루어져 있으므

로 수입대비 부채비율이 높거나 결측값을 가진 신청

자들에 대한 부실대출에 대한 위험확률이 매우 높을

것으로 보인다.

l decision tree node 의 view path feature : tree ring 과 관련된 decision rule 이해에 유용

1. decision tree –result window 를 선택한다.

2. selection arrow tool 을 선택한다.

3. menu bar 의 viewà path 선택

4. tree ring diagram 에서 세 시 방향의 위치에서 bad 부분선택

training data 에서 323 명의 신청자들의 부실

대출위험확률이 약 83%이다.

1. decision Tree-Result Window 선택

2. menu bar 의 viewàTree 선택

Data Mining

[8]

4. 의사결정나무의 수정

l 다지분리

- 의사결정나무에서 tree 가 다른 형태로 성장하도록 조정할 수 있다.

- 다지분리의 기본 목적은 마지막 결과의 해석을 증가시키는 것이다.

1. workspace에 Decision tree node 를 추가한다.

2. decision tree 노드를 열고 basic tab 을 선택한다.

3. maximum number of branches from a node에 4 라고 친다. 이 옵션은 2, 3, 4진 분리가 고

려되도록 수행하게 된다.

4. decision tree node 를 닫고 저장

5. decision tree node 를 실행시키고 결과들을 본다.

- 선택된 tree 에서 잎들의 수가 7 에서 12 로 증가한다.

- 잎의 수의 증가하면 포함되는 정도가 낮아진다.

Data Mining

[9]

- tree validation 정확도는 88.87%에서 88.97%로 약간 상승

- tree diagram 을 보면 소수의 신청자들을 포함하는 많은 node 들이 생성된다.

l 정지규칙의 설정

- 너무 적은 개체수를 가지고 있어 의사결정에 사용하기 곤란한 마디들이 포함되는 경우

Decision tree 의 성장을 제한하는데 사용

1. decision tree node 를 열고 basic tab 을 선택한다.

2. minimum number of observation in a leaf 에 25 를 입력한다.

: 25 보다 적은 개체수를 가지는 마디가 생기지 않도록 지정

3. Observations required for a spilt search에 100 을 입력한다.

: 개체의 수가 100 보다 적은 마디는 더 이상 분리가 일어나지 않도록 지정

u Decision tree node 에서

minimum number of observations in a leaf ≤ (observations required for a split

search)/(Maximum number of branches for a node)

ex> node로부터 maximum number of branches 에 의해 나뉘어진 split search에 대해 필

요한 observation 들은 (100/4)=25

1. decision Tree node 를 닫고 저장

2. decision tree node 를 실행하고 decision tree-Results 창과 tree diagram 을 본다.

- optimal tree 는 다시 7 개의

잎을 갖는다. (비록 branches 들

은 original tree 와 다르지만)

- validation accuracy 는 88.15%

로 약간 떨어진다.

- DEBTINC 상의 초기 split 들

은 4 개의 가지들을 생성한다.

1. Tree diagram window 를 선택한다.

2. 뿌리마디아래에서 변수이름 DEBTINC 를 선택한다. Input selection 창이 열린다.

테이블은 분리에서 계산된 각 변수의 순수도의 증가정도를 상위 5 개의 변수에

대해 제시하고 있다.

Data Mining

[10]

1. 변수 DEBTINC 선택

2. browse rule 선택하면 interval variables splitting rule 창이 나타난다.

table 은 missing value 들을 포함하는 가지 수 뿐만 아니라 4 개의 가지의 각각의 선택된 범

위를 제시한다. interval variable splitting rule window, the input select window와 decision tree-

result 창을 닫는다.

l 선택된 splits 의 수정

- decision tree splits 는 분석적인 기준에 기본을 두고 선택되어진다.

- 실제적인 business 기준의 기본을 둔 split 를 선택하는 것이 필요하고 바람직하다.

- Decision tree node 의 interactive Training method 를 사용하여 decision tree node 를

business rule type 으로 통합할 수 있다.

mouse의 menu button 을 사용하여 가장 최근에 편집된 decision tree node 를 선택한다.

1. interactive Training 을 선택

Data Mining

[11]

2. Decision Tree-Interactive Training 창을 연다.

3. menu bar 로부터 viewàtree 선택

4. tool bar 의 Explore Rules button 을 선택한다.

5. tree 의 뿌리마디를 선택. input selection 창은 12 개의 잠재 split 와 통계적인 값들의 목록

을 제시한다.

6. DEBTINC split 선택

7. Modify Rule 선택. interval variable splitting rule window 를 연다.

8. range 4선택를 선택하고 Remove range 선택

Data Mining

[12]

9. Range 3 과 2 에 대해서 반복 : split 는 node 1 에 DEBTINC 의 모든 non-missing 값들을

기입하고, node 2에 DEBTINC 의 missing 값들을 정의한다.

10. Interval variable splitting Rule 창을 닫고 OK 선택

11. Input selection 창에서 apply rule 선택

12. Input Selection 창을 닫으면 Tree Diagram 은 보여지는 것처럼 update 된다.

13. Decision Tree-Interactive Training 창을 닫는다.

14. input for subsequent training 에 대해 yes 라고 한다.

15. 수정된 decision tree node 를 실행하고, 결과를 본다

16. 선택된 tree 는 7 개의 node 를 갖는다.

Data Mining

[13]

validation accuracy 는 88.15%.

l assessment node 를 열고 original 과 수정된 tree 모형을 비교

- assessment plot 들은 두개의 tree 모형들에 대해 비슷하다

- 원래 모형은 20%에서 꽤 높은 향상도(lift)와 민감도(sensitivity)를 갖는다.

4. Tree Deployment l Tree Deployment

- 대출 신청 거절에 대한 적당한 경계를 선택

- 최적 경계(optimal threshold)

positivefalseoftnegativefalseoft

coscos

1

1

+=θ

- Credit-scoring example

모든 대출된 2 달러들은 결과적으로 3 달러로 돌아온다고 가정한다.

2 달러에 대한 좋은 대출을 거절하는 것은 기대되는 이익을 버리게 된다.

Data Mining

[14]

optimal threshold : 31

211

=+

즉, 예측 확률이 predictive probability 가 0.33 을 초과하는 모든 신청을 거절한다.

l Assessment node 를 사용한 최적 경계

1. 원래의 이진분리 decision tree 모형선택

2. menu bar 로부터 ToolsàLift chart 선택

3. profit vector 를 정의하기 위해 define… 을 선택

4. Target level 1에 –2 를 친다.

5. Target level 0에 1 을 친다.

6. Target level cost 에 0 을 친다.

target level 1에 –2 를 입력하는 것

은 한 고객에게 대출해주는 경우 –

2 만큼의 이익이 든다는 것을 지정

하는 것이고, target level 0에 1 을

입력하는 것은 1 만큼의 이익이 생

긴다는 것이다.

7. profit vector definition 창을 닫는다.

8. Apply 를 선택한다.

9. profit 버튼을 선택한다.

Data Mining

[15]

10. Non-cumulative 버튼을 선택한다.

plot 은 첫 20%에 대해서 음의

기대이익을 가지고 있음을 보여

주고 있다. 즉, 부실점수가 높은

20%에 대해서 대출을 거절함으

로써 양의 기대이익을 얻을 수

있다는 것을 의미한다.

1. menu bar 의 format àhorizontal scale 을 2%로 고정

2. command line 에 vt tmplift 를 입력하 고 를 선택한다.

상위 20%에 해당하는

절단값(cutoff value)이

약 0.31 이라는 것을 알

수 있다. 즉, 양의 기대

이익을 얻기 위해서는

부실 점수가 0.31 이상

인 고객에 대해 대출을

거절해야 한다는 것을

의미한다.

3. TMPLIFT table 과 Assessment node 를 닫는다.

4. Score node 를 원래의 이진분리 트리에 attach한다.

5. Score node 를 연다.

6. Decision tree model 을 더블클릭하면 decision tree 에 대한 scoring 결과가 나타난다.

¨ 모형에 대한 평가에서 적절한 예측모형이 결정되었다면 선정된 모형을 이용하여 새로운

개체에 대한 점수를 구할 수 있어야 한다.

¨ socre node 는 분석된 모형을 이용하여 새로운 data 에 대한 점수를 구할 수 있고, 분석

흐름도 상의 전 과정을 sas data step 으로 구성된 코드로 얻을 수 있다.