R에서 의사결정나무를 그리는 방법(예제 포함)
기계 학습 에서 의사 결정 트리는 일련의 예측 변수를 사용하여 응답 변수의 값을 예측하는 의사결정 트리를 생성하는 모델 유형입니다.
R에서 의사결정 트리를 그리는 가장 쉬운 방법은 rpart.plot 패키지의 prp() 함수를 사용하는 것입니다.
다음 예에서는 이 기능을 실제로 사용하는 방법을 보여줍니다.
예: R에서 의사결정 트리 그리기
이 예에서는 263명의 프로 야구 선수에 대한 다양한 정보가 포함된 ISLR 패키지의 Hitters 데이터 세트를 사용합니다.
우리는 이 데이터 세트를 사용하여 홈런과 플레이 기간을 사용하여 특정 선수의 연봉을 예측하는 회귀 트리를 구축할 것입니다.
다음 코드는 이 회귀 트리를 피팅하는 방법과 prp() 함수를 사용하여 트리를 그리는 방법을 보여줍니다.
library (ISLR) library (rpart) library (rpart.plot) #build the initial decision tree tree <- rpart(Salary ~ Years + HmRun, data=Hitters, control=rpart. control (cp= .0001 )) #identify best cp value to use best <- tree$cptable[which. min (tree$cptable[," xerror "])," CP "] #produce a pruned tree based on the best cp value pruned_tree <- prune (tree, cp=best) #plot the pruned tree prp(pruned_tree)

prp () 함수의 faclen , extra , roundint 및 digits 인수를 사용하여 의사결정 트리의 모양을 사용자 정의할 수도 있습니다.
#plot decision tree using custom arguments
prp(pruned_tree,
faclen= 0 , #use full names for factor labels
extra= 1 , #display number of observations for each terminal node
roundint= F , #don't round to integers in output
digits= 5 ) #display 5 decimal places in output

트리에 6개의 터미널 노드가 있는 것을 볼 수 있습니다.
각 터미널 노드는 해당 노드에 있는 플레이어의 예상 급여와 해당 등급에 속하는 원래 데이터 세트의 관측치 수를 표시합니다.
예를 들어, 원본 데이터세트에는 경력이 4.5년 미만인 선수가 90명 있고 평균 연봉이 $225.83K 임을 알 수 있습니다.

또한 트리를 사용하여 특정 선수의 경력과 평균 홈런을 기반으로 선수의 연봉을 예측할 수도 있습니다.
예를 들어, 경력 7년, 평균 4홈런을 보유한 선수의 예상 연봉은 $502.81k 입니다.

이는 의사결정 트리 사용의 장점 중 하나입니다. 결과를 쉽게 시각화하고 해석할 수 있습니다.
추가 리소스
다음 튜토리얼에서는 의사결정 트리에 대한 추가 정보를 제공합니다.
분류 및 회귀 트리 소개
의사결정 트리와 랜덤 포레스트: 차이점은 무엇인가요?
R에 분류 및 회귀 트리를 맞추는 방법