sklearn决策树可视化

方法一:export_graphviz 将树导出为 Graphviz 格式

In [1]:
from sklearn import tree
from sklearn.datasets import load_iris 

#载入sklearn中自带的数据Iris,构造决策树

iris=load_iris()
clf=tree.DecisionTreeClassifier()
clf=clf.fit(iris.data,iris.target)
In [2]:
#训练完成后,我们可以用 export_graphviz 将树导出为 Graphviz 格式
with open("iris.dot", 'w') as f:
    f = tree.export_graphviz(clf, out_file=f)

此时已经在本地生成了 iris.dot 文件,在命令行输入 dot -Tpdf iris.dot -o iris.pdf 生成决策树的PDF可视化文件,打开 iris.pdf就能够看到生成的图片了。

方法二:使用 pydotplus 直接生成 iris.pdf

In [3]:
import pydotplus
dot_data=tree.export_graphviz(clf,out_file=None)
graph=pydotplus.graph_from_dot_data(dot_data)
graph.write_pdf('iris_2.pdf')
Out[3]:
True

方法三:直接在 jupyter notebook 中生成

In [4]:
from IPython.display import Image  
dot_data = tree.export_graphviz(clf, out_file=None, 
                         feature_names=iris.feature_names,  
                         class_names=iris.target_names,  
                         filled=True, rounded=True,  
                         special_characters=True)  
graph = pydotplus.graph_from_dot_data(dot_data)  
Image(graph.create_png())  
Out[4]:
In [5]:
dot_data = tree.export_graphviz(clf, out_file=None,filled=True)  
graph = pydotplus.graph_from_dot_data(dot_data)  
Image(graph.create_png())  
Out[5]: