파이썬 (쥬피터) [2021.04.22]/9일차

파이썬 9일차 - 머신러닝 개념정리 (결정트리, 디시젼트리)

영성 2021. 5. 7. 15:50
from sklearn.tree import DecisionTreeClassifier      # 디시젼트리 불러오기
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split # 학습, 에측 불러오기

# 워닝 무시
import warnings
warnings.filterwarnings('ignore')

 

디시젼트리 그래프비즈로 시각화

from sklearn.tree import export_graphviz

# export_graphviz()의 호출 결과로 out_file로 지정된 tree.dot 파일을 생성함. 
export_graphviz(dt_clf, out_file="tree.dot", class_names=iris_data.target_names, \
                feature_names = iris_data.feature_names, impurity=True, filled=True)
import graphviz

# 위에서 생성된 tree.dot 파일을 Graphviz 읽어서 Jupyter Notebook상에서 시각화 
# with open : "파일을 읽겠다"
with open("tree.dot") as f:
    dot_graph = f.read()

# graphviz.Source 메소드로 dot_graph 읽기
graphviz.Source(dot_graph)

 

디시젼트리의 피처중요도 확인

 - 변수.feature_names : (변수) 데이터의 피처 확인

- 변수.feature_importances_ : 피처에 대한 각각의 피쳐의 결정값 중요도 확인

- sns.barplot(x= , y= ) : 결정값 중요도를 컬럼별로 시각화 (차트)

 

디시젼트리 과적합

- 예제 참고