提问者:小点点

Sklearn绘图树绘图太小


我有一个简单的代码:

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

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

我如何使这个图表清晰?我使用PyCharm专业2019.3作为我的IDE。


共2个答案

匿名用户

我想您要找的设置是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)

这里有一个例子,它看起来像在更大的树上。

匿名用户

手之前设置图像的大小怎么样:

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()