本人在运用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/'
文章未经博主同意,禁止转载!