BookmarkSubscribeRSS Feed

Decision Tree

Started ‎11-17-2024 by
Modified ‎11-17-2024 by
Views 171

Decision Tree는분류와 회귀에서도 사용될 수 있는 머신러닝 모델로 입력값에 대해 규칙을 생성하는 알고리즘으로 생성된 규칙 구조가 나무의 가지를 닮아 의사결정나무라고도 불립니다.

 

 

image.png

 

https://corporatefinanceinstitute.com/resources/data-science/decision-tree/

 

 

 

Decision Tree의 작동원리는 다음과 같습니다.

STEP1.

  • Decision Tree는 노드(Node)와 가지(Branch)로 구성되어 있으며 가장 위에 있는 Root Node에서 부터 시작합니다.

STEP2.

  • 규칙을 거침에 따라 각각의 구획으로 정리됩니다. 내부 노드(Internal Node)는 데이터를 조건에 따라 분할하는 노드로 위의 그림에서는 도형의 변(sides of a shape)의 갯수에 따라 triangle이냐 square냐로 구분할 수 있습니다.

STEP3.

  • 새로운 데이터가 들어왔을 때, 정해진 규칙에 따라 각각의 구획으로 들어가게 됩니다.

  • 그 안의 평균/최빈값을 토대로 결과를 도출하여 단말 노트(Leaf Node) 를 최종적으로 나타냅니다.

수 많은 규칙이 생성될 수 있으나 가장 예측에 도움이 되는 규칙을 찾아야합니다.

가장 좋은 규칙을 세우기 위해서는 불순도(Impurity)를 계산해야합니다. 불순도가 가장 낮아지는 규칙을 찾을 수 있어야 합니다.

하지만 적당한 깊이의 규칙만을 남기고 처리해야 합니다. (pruning: 가지를 자르는 것)

■ SAS CODE

 

SASHELP의 IRIS 데이터를 활용해 Decision Tree로 예제입니다.

 

proc hpsplit data=sashelp.iris;
   class Species;
   model Species = SepalLength SepalWidth PetalLength PetalWidth;
   grow entropy; 
   prune none; 
run;

 

proc hpsplit: SAS에서 제공하는 Decision Tree statement로 데이터 분류나 회귀를 수행할 때 사용됩니다. 분할 기준과 조건을 트리 형태로 시각화 해주는 특징이 있습니다.

Class: 종속변수 또는 독립변수를 범주형 변수로 설정합니다.

grow: 트리의 가지를 발생시키는 기준을 정의합니다.

prune: 트리의 복잡성을 줄이기 위해 가지치기 방법을 설정한 것 입니다.

Species는 꽃의 품종을 나타내는 종속 변수로 SepalLength, SepalWidth, PetalLength, PetalWidth를 활용해서 꽃의 품종을 예측합니다.

 

 

Version history
Last update:
‎11-17-2024 06:50 PM
Updated by:
Contributors

SAS Innovate 2025: Register Now

Registration is now open for SAS Innovate 2025 , our biggest and most exciting global event of the year! Join us in Orlando, FL, May 6-9.
Sign up by Dec. 31 to get the 2024 rate of just $495.
Register now!

Article Labels
Article Tags