1. 데이터 셋 얻기
from sklearn.datasets import load_iris
import pandas as pd
iris = load_iris()
2. 데이터를 훈련 / 테스트로 분리
from sklearn.model_selection import train_test_split
features = iris.data
labels = iris.target
X_train, X_test, y_train, y_test = train_test_split(features, labels,
test_size=0.2, stratify=labels, random_state=17)
3. train 데이터 대상 결정나무 모델 만들기
from sklearn.tree import DecisionTreeClassifier
iris_tree = DecisionTreeClassifier(max_depth=2, random_state=17)
iris_tree.fit(X_train, y_train)
4. plot_tree 확인
import matplotlib.pyplot as plt
from sklearn.tree import plot_tree
plt.figure(figsize=(8,4))
plot_tree(iris_tree);

- petal 특성만 사용하였다. x[2], x[3]
5. 만들어둔 모델에 테스트 데이터 넣고 모델 테스트 & accuracy 확인
from sklearn.metrics import accuracy_score
y_pred_tr = iris_tree.predict(X_train)
accuracy_score(y_train, y_pred_tr)
6. 훈련 데이터에 대한 결정경계 확인
from mlxtend.plotting import plot_decision_regions
plt.figure(figsize=(8,5))
plot_decision_regions(X=X_train, y=Y_train, clf=iris_tree, legend=2)
plt.show()
