2017-03-06 16 views
0

나는 scikit-learn을 사용하여 기계 학습으로 의사 결정 트리를 수행하기 위해 python v3.6 사용에 대한 자습서를 수행하고 있습니다.graphwiz로이 의사 결정 트리를 표시합니다.

다음은 코드입니다.

import pandas as pd 
import numpy as np 
import matplotlib.pyplot as plt 
import mglearn 
import graphviz 

from sklearn.datasets import load_breast_cancer 
from sklearn.model_selection import train_test_split 

from sklearn.tree import DecisionTreeClassifier 

cancer = load_breast_cancer() 
X_train, X_test, y_train, y_test = train_test_split(cancer.data, cancer.target, stratify=cancer.target, random_state=42) 
tree = DecisionTreeClassifier(random_state=0) 
tree.fit(X_train, y_train) 

tree = DecisionTreeClassifier(max_depth=4, random_state=0) 
tree.fit(X_train, y_train) 

from sklearn.tree import export_graphviz 
export_graphviz(tree, out_file="tree.dot", class_names=["malignant", "benign"],feature_names=cancer.feature_names, impurity=False, filled=True) 

import graphviz 
with open("tree.dot") as f: 
    dot_graph = f.read() 
graphviz.Source(dot_graph) 

graphviz를 사용하여 dot_graph 내부를 확인하려면 어떻게해야합니까? 아마도 다음과 같이 보일 것입니다.

enter image description here

+1

.dot를 .png와 같은 다른 형식으로 변환 할 수있는 [export_graphviz] (http://scikit-learn.org/stable/modules/generated/sklearn.tree.export_graphviz.html) 기능을 확인하십시오. –

답변

2

graphviz.Source(dot_graph)graphviz.files.Source 개체를 반환합니다.

g = graphviz.Source(dot_graph) 

g.render()을 사용하여 이미지 파일을 만듭니다. 인수없이 코드에서 실행했을 때 Source.gv.pdf이 있지만 다른 파일 이름을 지정할 수 있습니다. 바로 가기 g.view()도 있으며 파일을 저장하고 적절한 뷰어 응용 프로그램에서 열 수 있습니다.

인라인 그래픽 또는 Jupyter 노트북이있는 Spyder/IPython과 같이 풍부한 터미널에 코드를 붙여 넣으면 코드가 자동으로 개체의 Python 표현 대신 이미지로 표시됩니다.