[![enter image description here][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")
但是这个过程无法完成。第一次我遇到了内存不足的错误,第二次我遇到了“dot停止工作”的错误。由于这些问题,我想通过知道左子节点在哪里、右子节点在哪里或者左子节点来了解树的情况。感谢任何回应和帮助。
dot.exe
不是很了解,但它与Python无关。pydot
可能只是它的一个包装器。我之前用过Linux版本的dot
。你可以像这样做:tree.export_graphviz(clf, out_file='tree.dot')
,然后直接使用tree.dot
。或者如果你对Python很熟悉,你也可以从clf
对象中提取所有需要的信息。我以前也做过类似的事情,需要注意的是,存储在clf
中的信息并不是非常直观的,你可能需要进行相当多的转换。 - zyxue