J'ai ce code simple:
clf = tree.DecisionTreeClassifier()
clf = clf.fit(X, y)
tree.plot_tree(clf.fit(X, y))
plt.show()
Et le résultat que j'obtiens est ce graphique:
Comment rendre ce graphique lisible? J'utilise PyCharm Professional 2019.3 comme mon IDE.
Je pense que le paramètre que vous recherchez est fontsize
. Vous devez équilibrer avec max_depth
et figsize
pour obtenir un tracé lisible. Voici un exemple
from sklearn import tree
from sklearn.datasets import load_iris
import matplotlib.pyplot as plt
X, Y = load_iris(return_X_y=True)
clf = tree.DecisionTreeClassifier()
fig, ax = plt.subplots(figsize=(12, 12))
tree.plot_tree(clf.fit(X, Y), max_depth=4, fontsize=10)
plt.show()
Si vous voulez capturer la structure de l'arbre entier, je suppose que la sauvegarde de l'intrigue avec une petite police et un dpi élevé est la solution. Ensuite, vous pouvez ouvrir une image et zoomer sur les nœuds spécifiques pour les inspecter.
clf = tree.DecisionTreeClassifier()
fig, ax = plt.subplots(figsize=(50, 24))
tree.plot_tree(clf.fit(X, Y), fontsize=6)
plt.savefig('tree_high_dpi', dpi=100)
Voici un exemple de son apparence sur le plus grand arbre.