首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Sklearn plot_tree图太小

Sklearn plot_tree图太小
EN

Stack Overflow用户
提问于 2019-12-23 03:22:25
回答 2查看 23.2K关注 0票数 25

我有这个简单的代码:

代码语言:javascript
运行
复制
clf = tree.DecisionTreeClassifier()
clf = clf.fit(X, y)

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

我得到的结果是这个图:

如何使此图表清晰易读?我使用PyCharm专业版2019.3作为我的集成开发环境。

EN

回答 2

Stack Overflow用户

发布于 2020-04-10 19:05:48

我认为您要查找的设置是fontsize。您必须将其与max_depthfigsize进行平衡,才能获得可读的图。下面是一个例子

代码语言:javascript
运行
复制
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保存绘图是解决方案。然后,您可以打开图片并缩放到特定节点进行检查。

代码语言:javascript
运行
复制
# 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)

下面是一个例子,展示了它在大树上的样子。

票数 34
EN

Stack Overflow用户

发布于 2019-12-23 03:50:31

事先设置图片的大小如何:

代码语言:javascript
运行
复制
clf = tree.DecisionTreeClassifier()
clf = clf.fit(X, y)

fig, ax = plt.subplots(figsize=(10, 10))  # whatever size you want
tree.plot_tree(clf.fit(X, y), ax=ax)
plt.show()
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/59447378

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档