Sklearn plot_tree 图太小

新手上路,请多包涵

我有这个简单的代码:

 clf = tree.DecisionTreeClassifier()
clf = clf.fit(X, y)

tree.plot_tree(clf.fit(X, y))
plt.show()

我得到的结果是这张图: 在此处输入图像描述

如何使此图表清晰易读?我使用 PyCharm Professional 2019.3 作为我的 IDE。

原文由 Artur 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
1 个回答

我认为您正在寻找的设置是 fontsize 。您必须将它与 max_depthfigsize 进行平衡以获得可读的图。这是一个例子

from sklearn import tree
from sklearn.datasets import load_iris
import matplotlib.pyplot as plt

# load data
X, y = load_iris(return_X_y=True)

# create and train model
clf = tree.DecisionTreeClassifier(max_depth=4)  # set hyperparameter
clf.fit(X, y)

# plot tree
plt.figure(figsize=(12,12))  # set plot size (denoted in inches)
tree.plot_tree(clf, fontsize=10)
plt.show()

在此处输入图像描述

如果你想捕捉整棵树的结构,我想用小字体和高 dpi 保存绘图是解决方案。然后您可以打开图片并缩放到特定节点以检查它们。

 # create and train model
clf = tree.DecisionTreeClassifier()
clf.fit(X, y)

# save plot
plt.figure(figsize=(12,12))
tree.plot_tree(clf, fontsize=6)
plt.savefig('tree_high_dpi', dpi=100)

这是它在更大的树上的样子的示例。

在此处输入图像描述

在此处输入图像描述

原文由 Renard Korzeniowski 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题