PYTHON决策树可视化

时间:2017-03-18 21:46:52

标签: python scikit-learn decision-tree

[![在此处输入图像描述] [1]] [1]我想可视化我已应用于pdf或png文件中的数据的树决策分类器。我尝试使用graphviz通过以下代码进行可视化:

X_train, X_test, y_train, y_test = \
        train_test_split(X, y, test_size=0.30, random_state=1)

clf =tree.DecisionTreeClassifier(max_depth=43)
clf = clf.fit(X_train, y_train)
from sklearn.externals.six import StringIO  
import pydot 
dot_data = StringIO() 
tree.export_graphviz(clf, out_file=dot_data) 
graph = pydot.graph_from_dot_data(dot_data.getvalue()) 
graph[0].write_pdf("tree.pdf") 

但程序无法完成。一旦我得到内存不足的错误,第二次我得到错误"点停止工作"。由于这个问题,我想通过了解孩子哪里是正确的孩子或左孩子来了解这棵树?感谢您的回复和帮助

1 个答案:

答案 0 :(得分:0)

如果遇到错误,如下所示:

Program terminated with status: -11. stderr follows: dot: graph is too large for cairo-renderer bitmaps.

然后要了解树,可以尝试将其以树文本格式放在屏幕上,如下所示:

from sklearn.tree import export_text

r = export_text(clf, feature_names=df_X_train.columns)
print(r)