오답노트

[ML] Decision Tree - plot_tree 본문

Python/ML

[ML] Decision Tree - plot_tree

권멋져 2022. 8. 24. 17:52

plot_tree

Decision Tree를 직접 트리형태로 볼 수 있게 해주는 함수다.

 

import matplotlib.pyplot as plt

from sklearn.tree import DecisionTreeClassifier, plot_tree
from sklearn.metrics import *

m3 = DecisionTreeClassifier(max_depth=5,min_samples_leaf=150)
m3.fit(x_train,y_train)
pred3 = m3.predict(x_val)
print(classification_report(y_val,pred3))

plt.figure(figsize = (30,15)) # 그림 사이즈 조절
plot_tree(m3, feature_names = list(x_train), 
               class_names= ['Stay', 'Leave'], filled = True, fontsize = 8);

트리 이미지의 크기는 plt.figure로 조절 가능하다.

 

plot_tree 의 인자들을 살펴보자

첫번째 인자에는 모델이 들어간다.

feature_names 옵션에는 모델링할 때 사용한 데이터셋의 feature 이름을 리스트로 입력한다.

class_names 옵션에는 모델링할 때 사용한 데이터셋의 target 이름을 리스트로 입력한다.

filled 는 색깔을 채우는 여부다.

fontsize는 글씨 크기다.

 

트리 해석

1. 해당 변수가 제일 Information gain이 높아 불순도의 기준이 되었다.

2. 1번 변수의 불순도를 나타낸다

3. 해당 트리에서 사용된 train 데이터의 개수다.

4. 3번 데이터의 개수중 결과가 0,1 인 데이터의 개수를 나타낸다.

5. 1번의 조건이 충족되면 예측되는 판단 결과이다.

 

판단 결과가 0이면 왼쪽 1이면 오른쪽으로 뻗어나간다.

'Python > ML' 카테고리의 다른 글

[ML] SVM - SVC  (0) 2022.08.24
[ML] SVM (Support Vector Machine)  (0) 2022.08.24
[ML] Decision Tree - DecisionTreeClassifier  (0) 2022.08.24
[ML] 의사결정 트리 (Decision Tree)  (0) 2022.08.24
[ML] KNN - KNeighborsClassifier  (0) 2022.08.23