pydot运行时出现:FileNotFoundError: [WinError 2] "dot" not found in path.

问题

在使用可视化树的过程中,报错了。说是"dot" not found in path.

from sklearn.tree import export_graphviz
from sklearn.tree import DecisionTreeClassifier
#3:1拆分数据集
from sklearn.model_selection import train_test_split
#乳腺癌数据集
from sklearn.datasets import load_breast_cancer
import pydot
import os
os.environ['PATH'] = os.environ['PATH'] + (';c:\\Program Files (x86)\\Graphviz2.38\\bin\\')
cancer = load_breast_cancer()
#参数random_state是指随机生成器,0表示函数输出是固定不变的
X_train,X_test,y_train,y_test = train_test_split(cancer['data'],cancer['target'],random_state=42)
tree = DecisionTreeClassifier(random_state=0)
tree.fit(X_train,y_train)
print('Train score:{:.3f}'.format(tree.score(X_train,y_train)))
print('Test score:{:.3f}'.format(tree.score(X_test,y_test)))
#生成可视化图
export_graphviz(tree,out_file="tree.dot",class_names=['严重','轻微'],feature_names=cancer.feature_names,impurity=False,filled=True)
#展示可视化图
(graph,) = pydot.graph_from_dot_file('tree.dot')
graph.write_png('tree.png')

         

解决方案

先使用安装pydot: 

pip install pydot

然后再下载Graphviz:graphviz-2.38.msi

一路安装,记住默认的安装路径        c:\Program Files (x86)\Graphviz2.38\

配置环境变量后,添加代码

                                     pydot运行时出现:FileNotFoundError: [WinError 2]

import os
os.environ['PATH'] = os.environ['PATH'] + (';c:\\Program Files (x86)\\Graphviz2.38\\bin\\')

测试之后还是报错,后来发现,错误提示是找不到“dot”程序,而不是"dot.exe"程序

修改self.prog = 'dot'为self.prog = 'dot.exe',之后测试,成功运行例子

pydot运行时出现:FileNotFoundError: [WinError 2]

你可能感兴趣的:(遇到的问题)