web-dev-qa-db-fra.com

Graphviz.Source non rendu dans Jupyter Notebook

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.

7
leon yin

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)
5
Aaron Soellinger
graphviz.Source(dot_graph).view()
2
kapfy78

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())
1
martin.zaenker

essayez de réinstaller graphviz

conda remove graphviz
conda install python-graphviz
graphviz.Source(dot_graph).view()
0
Andy Quiroz