Windows10 で IPython を使用して、決定木をトレーニングおよび描画しています。次のコードがLinuxで以前に機能したことを知っています。私はpydotをインストールし、graphvizも持っています(パスが正しく指定されています)。
# Train and draw out a decision tree
from IPython import display
from sklearn import datasets, tree, utils
from sklearn.externals.six import StringIO
import pydot
# Train a small decision tree on the iris dataset
dataset = datasets.load_iris()
X_iris, y_iris = utils.shuffle(dataset.data, dataset.target,random_state=42)
tree_clf = tree.DecisionTreeClassifier(max_depth=3).fit(X_iris, y_iris)
# Generate a plot of the decision tree
dot_data = StringIO()
tree.export_graphviz(tree_clf, out_file=dot_data)
graph = pydot.graph_from_dot_data(dot_data.getvalue())
display.Image(graph.create_png())
次のエラーが表示されます。
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-5-3452aa5e9794> in <module>()
15 tree.export_graphviz(tree_clf, out_file=dot_data)
16 graph = pydot.graph_from_dot_data(dot_data.getvalue())
---> 17 display.Image(graph.create_png())
AttributeError: 'list' object has no attribute 'create_png'