解决使用export_graphviz可视化树报错的问题

yipeiwu_com6年前Python基础

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

原代码:

# import tools needed for visualization
from sklearn.tree import export_graphviz
import pydot
 
#Pull out one tree from the forest
tree = rf.estimators_[5]
 
# Export the image to a dot file
export_graphviz(tree, out_file = 'tree.dot', feature_names = features_list, rounded = True, precision = 1)
 
#Use dot file to create a graph
(graph, ) = pydot.graph_from_dot_file('tree.dot')
 
# Write graph to a png file
graph.write_png('tree.png');

报错信息:

解决方法:

先使用安装pydot:

pip install pydot

然后再下载Graphviz(http://www.graphviz.org/ 选择msi版本)一路安装,记住默认的安装路径

c:\Program Files (x86)\Graphviz2.38\。

将Graphviz2.38添加到环境变量中

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

之后便可以正常使用了。

修改后代码:

# import tools needed for visualization
from sklearn.tree import export_graphviz
import pydot
import os
 
os.environ['PATH'] = os.environ['PATH'] + (';c:\\Program Files (x86)\\Graphviz2.38\\bin\\')
 
#Pull out one tree from the forest
tree = rf.estimators_[5]
 
# Export the image to a dot file
export_graphviz(tree, out_file = 'tree.dot', feature_names = features_list, rounded = True, precision = 1)
 
#Use dot file to create a graph
(graph, ) = pydot.graph_from_dot_file('tree.dot')
 
# Write graph to a png file
graph.write_png('tree.png');

以上这篇解决使用export_graphviz可视化树报错的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

详解python中的time和datetime的常用方法

一、time的常用方法: import time,datetime # 时间有三种展现方式:时间戳,时间元组,格式化的时间 print(time.time())#当前时间戳 pri...

python基于K-means聚类算法的图像分割

python基于K-means聚类算法的图像分割

1 K-means算法 实际上,无论是从算法思想,还是具体实现上,K-means算法是一种很简单的算法。它属于无监督分类,通过按照一定的方式度量样本之间的相似度,通过迭代更新聚类中心,...

Python中使用select模块实现非阻塞的IO

Socket的英文原义是“孔”或“插座”。作为BSD UNIX的进程通信机制,取后一种意思。通常也称作”套接字”,用于描述IP地址和端口,是一个通信链的句柄。在Internet上的主机一...

Python构造自定义方法来美化字典结构输出的示例

Python构造自定义方法来美化字典结构输出的示例

示例: 复制代码 代码如下: d = { "root": { "folder2": { "item2": None, "item1": None }, "folder1": { "sub...

使用Python的Zato发送AMQP消息的教程

使用Python的Zato发送AMQP消息的教程

本 帮助主题 展示了使用Zato发送AMQP消息 所 需的内容. Zato 基于Python 的 为 SOA 、 云 集成 和 后端 服务 的 企业服务总线(ESB) 。 代码演示 下面...