sklearn 决策树 plot_tree 节点重叠

Posted

技术标签:

【中文标题】sklearn 决策树 plot_tree 节点重叠【英文标题】:sklearn decision tree plot_tree nodes are overlapping 【发布时间】:2021-06-17 17:23:06 【问题描述】:

当我使用sklearn.tree.plot_tree() 绘制我的 sklearn 决策树时,节点在更深层次上重叠,我无法读取节点中的内容。展示你的结果并不好。它看起来像这样:

如何在它们之间留出更多空间以避免重叠?

我已经找到this 的问题,我已经将fontsize 增加到10 并将figsize 增加到(20,30),但是它导致了如图所示绘制的树。我还将 dpi 增加到 150。这是我的代码:

fig = plt.figure(figsize=(20,30))
artists = sklearn.tree.plot_tree(decision_tree=clf, feature_names=feature_names, class_names=class_names, filled=True, rounded=True, fontsize=10, max_depth=4)
fig.savefig(filepath, dpi=150)

【问题讨论】:

【参考方案1】:

您需要控制渲染图像的大小。 尝试像fig = plt.figure(figsize=(50,30)) 一样更改figsize。这对我有用。 您可以在https://scikit-learn.org/stable/modules/generated/sklearn.tree.plot_tree.html 找到原始文档。

【讨论】:

感谢您为回答我所做的努力,但正如问题中所述,我已经尝试过,但没有成功。

以上是关于sklearn 决策树 plot_tree 节点重叠的主要内容,如果未能解决你的问题,请参考以下文章

从 sklearn 随机森林回归器可视化决策树

增加决策树中节点的大小

决策树分类器 sklearn 中节点的不同颜色表示啥?

sklearn.plot_tree 如何可视化分类任务的 class_labels?

sklearn 决策树:获取每个节点和叶子的记录(**有效**)

详解决策树-分类树菜菜的sklearn课堂笔记