Python决策树可视化:GraphViz‘s executables not found的解决方法

       本人在运用Python中决策树算法解决电力窃漏电用户识别分析时,遇到Python决策树可视化的问题。

       如下是建立决策树模型时的脚本:

from sklearn.tree import DecisionTreeClassifier,export_graphviz
from sklearn.model_selection import train_test_split
data_tr,data_te,target_tr,target_te = train_test_split(data.iloc[:,:14],data['是否存在窃漏电行为'],test_size=0.2,random_state=10)
model = DecisionTreeClassifier(random_state=5).fit(data_tr,target_tr) #模型训练
pre = model.score(data_te,target_te)
print('pre',pre)
from sklearn.externals.six import StringIO
import pydotplus #python2用pydot
dot_data = StringIO()
export_graphviz(model, out_file=dot_data, feature_names=data_tr.columns, class_names='是否存在窃漏电行为', filled=True, rounded=True, special_characters=True)  
graph = pydotplus.graph_from_dot_data(dot_data.getvalue())
graph.write_png('Telephone.png')

遇到了安装可视化工具的问题。下面是决策树可视化实现的步骤:

1、安装pydotplus

       打开Anaconda Prompt,输入pip install pydotplus,回车,successful

       出现GraphViz's executables not found报错很有可能是环境变量没添加上或添加错地方。

       安装pydotplus、graphviz库后,开始用pydotplus.graph_from_dot_data函数时,出错提示:“nvocationException: GraphViz's executables not found”

       查阅资料后发现,原来我没有安装GraphViz’s executables。用pip安装的Graphviz,但是Graphviz不是一个python tool,仍然需要安装GraphViz’s executables。

2、下载GraphViz’s executables的网址:Graphviz

       点击下载(Download),选择window系统。

       下载windows版本的运行安装即可。

3、配置环境配置

       配置环境变量,将graphviz安装目录下的bin文件夹添加到Path环境变量中。

4、验证是否安装并配置成功。

       验证是否安装成功,进入windows命令行界面,输入dot -version,然后按回车,如果显示graphviz的相关版本信息,则安装配置成功。

       若Python中运行仍然出错:’ExecutableNotFound: failed to execute ['dot', '-Tpdf', '-O', 'iris'], make sure the Graphviz executables are on your systems' PATH‘

       此前设置的环境变量不好用,可以用以下方法,查看了环境变量,发现没有就会追加上。

import os

os.environ["PATH"] += os.pathsep + 'C:/Program Files (x86)/Graphviz2.38/bin/'

文章未经博主同意,禁止转载!

评论 30
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值