Après avoir exporté un fichier .dot à l’aide de la fonction très pratique export_graphviz
de scikit-learn.
J'essaie de rendre le fichier de points à l'aide de Graphviz dans une cellule de mon carnet Jupyter:
import graphviz
from IPython.display import display
with open("tree_1.dot") as f:
dot_graph = f.read()
display(graphviz.Source(dot_graph))
Cependant, la sortie [] n'est qu'une cellule vide.
J'utilise graphviz 0.5
(pip puis conda installés), iPython 5.1
et Python 3.5
Le fichier de points est correct, voici les premiers caractères:
digraph Tree {\nnode [shape=box, style="filled", color=
l’affichage iPython semble fonctionner pour d’autres objets, notamment les tracés Matplotlib et les données Pandas.
Je dois noter que l'exemple sur Graphviz ' site ne fonctionne pas non plus.
Il est possible que, depuis que vous ayez posté ceci, des modifications aient été apportées. Vous voudrez peut-être mettre à jour vos bibliothèques si cela est possible.
Les versions de pertinence que j'ai utilisées ici sont:
Python 2.7.10
IPython 5.1.0
graphviz 0.7.1
Si vous avez un fichier .dot bien formé, vous pouvez l'afficher dans la cellule jupyter out [.] De la manière suivante:
import graphviz
with open("tree_1.dot") as f:
dot_graph = f.read()
# remove the display(...)
graphviz.Source(dot_graph)
graphviz.Source(dot_graph).view()
Essayez d'utiliser pydotplus.
import pydotplus
par (1.1) Importer le .dot de l'extérieur
pydot_graph = pydotplus.graph_from_dot_file("clf.dot")
ou (1.2) directement à l'aide de la sortie .export_graphviz
dt = tree.DecisionTreeClassifier()
dt = clf.fit(x,y)
dt_graphviz = tree.export_graphviz(dt, out_file = None)
pydot_graph = pydotplus.graph_from_dot_data(dt_graphviz)
(2.) et que vous affichez le graphe pyplot en utilisant
from IPython.display import Image
Image(pydot_graph.create_png())
essayez de réinstaller graphviz
conda remove graphviz
conda install python-graphviz
graphviz.Source(dot_graph).view()