She*_*ly 5 python decision-tree scikit-learn
[![在此处输入图像描述][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")
Run Code Online (Sandbox Code Playgroud)
但程序无法完成。一旦我收到内存不足的错误,第二次我收到错误“点停止工作”。由于这个问题,我想通过知道左孩子在哪里,右孩子或左孩子在哪里来了解这棵树?感谢您的任何回应和帮助
小智 0
如果您收到如下错误:
Program terminated with status: -11. stderr follows: dot: graph is too large for cairo-renderer bitmaps.
Run Code Online (Sandbox Code Playgroud)
然后为了理解树,您可以尝试将其以树文本格式显示在屏幕上,如下所示:
from sklearn.tree import export_text
r = export_text(clf, feature_names=df_X_train.columns)
print(r)
Run Code Online (Sandbox Code Playgroud)