4

次のコードを実行しようとしています。

from sklearn.datasets import load_iris
from sklearn import tree
import pydot
clf = tree.DecisionTreeClassifier()
iris = load_iris()
clf = clf.fit(iris.data, iris.target)
from sklearn.externals.six import StringIO
from pydot import *
dotfile = StringIO()
tree.export_graphviz(clf, out_file = dotfile)
pydot.graph_from_dot_data(dot_data.getvalue()).write_png("dtree2.png")

次のエラーが表示されます: AttributeError: モジュール 'pydot' には属性 'graph_from_dot_data' がありません

私は解決策を見つけるために一生懸命努力しましたが、そうすることができませんでした。この点で誰かが私を助けてください。

4

2 に答える 2

4

1)python 3+を使用している場合はpydotplusを使用してください

2)変数名が「dot_data」ではなく「dotfile」であるため、最後の行をpydotplus.graph_from_dot_data(dotfile.getvalue()).write_png("dtree2.png")に変更します

PS - pydotplus をインストールした後、graphviz を再インストールします。

お役に立てれば!

于 2016-02-23T10:55:27.177 に答える
2

pydot.graph_from_dot_data()リストを返すので、試してください:

graphs = pydot.graph_from_dot_data(dot_data.getvalue())
graphs[0].write_png("dtree2.png")
于 2016-08-26T15:13:32.520 に答える