うまくいけば添付のような図が作成されるはずなのですが、エラーになってしまいます。
エラーを訳しても意味がよくわかりませんでした。
わかる方ご教示願います。
使用したデータはsklearnデータセットのirisアヤメです。
from sklearn.datasets import load_iris from sklearn import tree import pydotplus from six import StringIO from IPython.display import Image iris = load_iris() #iris.data #iris.target clf = tree.DecisionTreeClassifier(max_depth=3) clf = clf.fit(iris.data, iris.target) predicted = clf.predict(iris.data) #predicted #sum(predicted == iris.target) / len(iris.target) tree.export_graphviz(clf, out_file="tree.dot", feature_names=iris.feature_names, class_names=iris.target_names, filled=True, rounded=True) dot_data = StringIO() tree.export_graphviz(clf, out_file=dot_data) graph = pydotplus.graph_from_dot_data(dot_data.getvalue()) graph.write_pdf("graph.pdf") Image(graph.create_png())
エラー文
--------------------------------------------------------------------------- UnicodeDecodeError Traceback (most recent call last) <ipython-input-1-e9a068e70626> in <module> 25 tree.export_graphviz(clf, out_file=dot_data) 26 graph = pydotplus.graph_from_dot_data(dot_data.getvalue()) ---> 27 graph.write_pdf("graph.pdf") 28 Image(graph.create_png()) ~\Anaconda3\lib\site-packages\pydotplus\graphviz.py in <lambda>(path, f, prog) 1802 lambda path, 1803 f=frmt, -> 1804 prog=self.prog: self.write(path, format=f, prog=prog) 1805 ) 1806 ~\Anaconda3\lib\site-packages\pydotplus\graphviz.py in write(self, path, prog, format) 1910 1911 else: -> 1912 fobj.write(self.create(prog, format)) 1913 finally: 1914 if close: ~\Anaconda3\lib\site-packages\pydotplus\graphviz.py in create(self, prog, format) 2016 stderr_output = NULL_SEP.join(stderr_output) 2017 if PY3: -> 2018 stderr_output = stderr_output.decode(sys.stderr.encoding) 2019 2020 # pid, status = os.waitpid(p.pid, 0) UnicodeDecodeError: 'utf-8' codec can't decode byte 0x82 in position 15: invalid start byte
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/11/08 03:22
2020/11/08 03:22
2020/11/08 03:51
2020/11/08 06:16