使用graphviz画树

[graphviz画树]

安装graphviz与pydot-ng

注意安装顺序 先安装graphviz再安装pydot-ng。
环境:windows10 、python3.5

安装graphviz

到官网下载graphviz的安装包选择msi格式(msi是一个应用程序,安装后可以直接编辑), 一直按next(记住安装路径最好不要安装在c盘,c盘不能新增删除操作),然后将该目录下的bin文件夹添加到系统的环境变量中(即把D:\Program Files (x86)\Graphviz2.38\bin添加进环境变量中), 最后在cmd中进入D:\Program Files (x86)\Graphviz2.38\bin 目录输入“dot -version”并按回车,若显示出graphviz的相关版本信息,则安装配置成功。

安装pydot-ng

pip install pydot-ng

添加环境变量

PYTHON中输入:

os.environ[“PATH”] += os.pathsep + ‘D:/Program Files (x86)/Graphviz2.38/bin/’

树可视化

说了那么多,现在开始画树了

决策树、随机森林树可视化
随机森林需指定一棵树Random.estimators_[5] #抽取第5颗树,其中Random是RandomForest fit后的
调用tree.export_graphviz
调用tree.export_graphviz(decision_tree, out_file=None, max_depth=None,
feature_names=None,class_names=None, label=’all’, filled=False)
out_file为输出文件最新版默认结果以字符串形式返回。如果填name.dot保存的是.dot文件。
feature_names可以为特征变量X. columns
class_names可以为因变量y(series),如果为True,则显示类名的符号。

iris=pd.read_csv(‘D:\testdate\iris.csv’, encoding=‘utf-8’)
clf = tree.DecisionTreeClassifier()
cll=clf.fit(iris.iloc[:,1:-1], iris.iloc[:,-1])
tree.export_graphviz(cll,out_file=‘tree.dot’, feature_names=iris.iloc[:,1:-1].columns,class_names=iris.iloc[:,-1])

xgboost树可视化
调用plot_tree
调用plot_tree(model,fmap=’ ’, num_trees=0, rankdir=‘UT’)
num_trees指定画第几棵树
fmap指定特征变量的名称,通常自定义。

plot_tree(xgbr, fmap='xgb.fmap‘)
fig = plt.gcf()
fig.set_size_inches(150, 100)
plt.show()
fig.savefig(‘tree.png’)

其中xgb.fmap是自定义的文件

def ceate_feature_map(features):
outfile = open(‘xgb.fmap’, ‘w’, encoding=“utf-8”)
i = 0
for feat in features:
outfile.write(’{0}\t{1}\tq\n’.format(i, feat.strip()))
i = i + 1
outfile.close()

如何解决graphviz无法正常显示中文?

第一步:直接在graphviz终端上打开.dot文件,更改指定字体:

digraph {
edge [fontname=“FangSong”]; /set the edge’s font/
node [shape=box, fontname=“FangSong”]; /set the node’s font and shape/
graph[fontname=“FangSong”]; /set the subgraph’s font/

第二步:打开终端cmd,进入dot安装目录,输入:

dot -Tpng D:\testdate\jijin\tree.dot-o D:\testdate\jijin\tr.png [-Gdpi=600]

链接: https://blog.csdn.net/WuchangI/article/details/79589542.

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Python Graphviz是一个用于绘制图形的Python库,可以用它来画决策树。首先,需要安装Graphviz和Python Graphviz库。然后,可以使用Python代码来创建决策树,并使用Graphviz库将其可视化。具体步骤如下: 1. 安装Graphviz和Python Graphviz库 可以在Graphviz官网下载安装包,然后安装。安装完成后,可以使用pip安装Python Graphviz库: ``` pip install graphviz ``` 2. 创建决策树 可以使用Python的scikit-learn库来创建决策树。以下是一个简单的例子: ``` from sklearn.datasets import load_iris from sklearn.tree import DecisionTreeClassifier from sklearn.tree import export_graphviz iris = load_iris() X = iris.data[:, 2:] y = iris.target tree_clf = DecisionTreeClassifier(max_depth=2) tree_clf.fit(X, y) ``` 3. 可视化决策树 使用export_graphviz函数将决策树导出为Graphviz格式: ``` export_graphviz( tree_clf, out_file=image_path("iris_tree.dot"), feature_names=iris.feature_names[2:], class_names=iris.target_names, rounded=True, filled=True ) ``` 然后使用Graphviz库将其可视化: ``` import graphviz with open("iris_tree.dot") as f: dot_graph = f.read() graphviz.Source(dot_graph) ``` 这样就可以在Jupyter Notebook或其他Python环境中看到决策树的可视化结果了。 ### 回答2: Graphviz是一款流行的图形可视化工具,支持多种图形绘制方法。Python中通过使用Graphviz包可以轻松绘制出各种类型的图形,包括决策树。 决策树是一种常见的数据可视化方式,在分类算法和回归算法中都得到广泛应用。Python中scikit-learn库提供了决策树算法,可以很方便地生成决策树模型。Graphviz则可以用来将决策树可视化。 在使用Graphviz绘制决策树时,首先需要安装Graphviz软件,然后使用Python的“graphviz”包进行调用。Python的决策树模型可以通过sklearn.tree中的DecisionTreeClassifier类来构建,然后通过graphviz包的export_graphviz()方法将模型转换为Graphviz对象,最终使用Graphviz工具将对象转换为图形。 下面是一个基本的Python示例代码,用于绘制简单的决策树: ``` from sklearn.datasets import load_iris from sklearn.tree import DecisionTreeClassifier, export_graphviz import graphviz iris = load_iris() X = iris.data y = iris.target clf = DecisionTreeClassifier() clf.fit(X, y) dot_data = export_graphviz(clf, out_file=None) graph = graphviz.Source(dot_data) graph.render("iris") ``` 导入数据和建模是常见的建模步骤,接下来使用export_graphviz()方法将模型导出为Graphviz对象,最后使用Source库将这个对象的表示打印为一个PDF文件。可以看到,决策树的每个节点都被标示为一个矩形框,其中包含有关该节点的信息,例如分类变量和拆分点。边表示决策树分支,具体表示分支条件。 总之,使用Graphviz绘制决策树具有非常广泛的应用场景,如分类算法和回归算法,特别适用于数据分析和数据可视化领域。对于Python用户,使用graphviz包和sklearn.tree库来构建决策树和将其可视化非常容易,有助于更深入了解模型结果并为后续分析提供有价值的参考。 ### 回答3: 决策树是一种非常常用的分类模型,通常情况下,我们需要通过分析节点的特征值和样本输出值的关系,来得出决策树的结构。决策树的结构通常需要用图来表示,这就需要将决策树画出来。在Python中,我们可以使用Graphviz库来绘制决策树,它支持多种绘图方案,可以生成各种类型的图表。 首先你需要安装Graphviz库和pydotplus库,这两个库是用于画图的强大工具。 然后你需要准备好一个数据集,包括数据的特征、样本输出值和分裂指标。 在使用Graphviz库之前,需要先构建决策树,最好使用sklearn库中的决策树算法进行构建。构建完成后,我们可以将树转换成Graphviz支持的格式,利用pydotplus库将其渲染成图片。 具体实现如下: # 导入需要的库和数据集 from sklearn.datasets import load_iris from sklearn import tree import pydotplus import os os.environ["PATH"] += os.pathsep + 'C:/Program Files (x86)/Graphviz2.38/bin/' # 构建决策树 iris = load_iris() clf = tree.DecisionTreeClassifier() clf = clf.fit(iris.data, iris.target) # 将决策树转换成Graphviz支持的格式 dot_data = tree.export_graphviz(clf, out_file=None, feature_names=iris.feature_names, class_names=iris.target_names, filled=True, rounded=True, special_characters=True) # 利用pydotplus将其渲染成图片 graph = pydotplus.graph_from_dot_data(dot_data) graph.write_pdf("iris.pdf") 这样,就可以成功地画出一颗高清的决策树图,并保存为PDF文件,通过这个图表就可以清晰地展现你的数据集和模型。同时,由于Graphviz支持多种格式的渲染,你也可以选择其他格式保存,像PNG或JPEG。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值