决策树可视化工具——Graphviz安装(Windows下)

 1.安装pydotplus

决策树可视化工具——Graphviz安装(Windows下)_第1张图片

2.安装graphviz

下载地址:

https://graphviz.gitlab.io/_pages/Download/Download_windows.html

决策树可视化工具——Graphviz安装(Windows下)_第2张图片

下载过程较为漫长,下载成功后,双击

傻瓜式安装

安装成功后,打开文件夹并将其bin路径添加至环境变量

dooo

在命令行界面验证:

决策树可视化工具——Graphviz安装(Windows下)_第3张图片

出现上图即安装成功。

3.使用

作为一名小白,刚安装好根本不会使用,在网上找了一些教程感觉也不是很清晰,这边自己琢磨了一下最最最基本的使用:

首先双击打开安装好的软件,输入以下代码,并且保存为1.gv(只要是.gv为后缀的均可)

决策树可视化工具——Graphviz安装(Windows下)_第4张图片

然后进入到命令行界面,切换到上述保存1.gv的文件夹中,我这边保存在了D:\graphviz.test中,所以我在命令行界面中输入以下:

决策树可视化工具——Graphviz安装(Windows下)_第5张图片

切换后,执行生成图的命令,其中Graphviz 默认的支持多种输出格式, 如:bmp,jpeg,jpg,pdf,png,svg。 可以使用 -T可以 指定输出格式类型,后面的image.png是生成图的名称:

然后就可以在D:\graphviz.test文件夹下看到该图,

决策树可视化工具——Graphviz安装(Windows下)_第6张图片

并且可以用任意看图软件打开它,生成的图如下图所示:

决策树可视化工具——Graphviz安装(Windows下)_第7张图片

稍微复杂点的等我更新。。。。。

凡事都有但是!!!在我做了上暖这些后,

使用隐形眼镜数据集实现决策树算法,并使用graphviz可视化:

from sklearn import tree
import pandas as pd
from sklearn.preprocessing import LabelEncoder, OneHotEncoder
from sklearn.externals.six import StringIO
import numpy as np
import pydotplus

if __name__ == '__main__':
    with open('lenses.txt', 'r') as fr:   #加载文件
        lenses = [inst.strip().split('\t') for inst in fr.readlines()]        #处理文件

    lenses_target = []     #提取每组数据的类别,保存在列表里
    for each in lenses:
        lenses_target.append(each[-1])
    #print(lenses_target)

    lensesLabels = ['age', 'prescript', 'astigmatic', 'tearRate']            #特征标签
    lenses_list = []    #保存lenses数据的临时列表
    lenses_dict = {}   #保存lenses数据的字典,用于生成pandas
    for each_label in lensesLabels:   #提取信息,生成字典
        for each in lenses:
            lenses_list.append(each[lensesLabels.index(each_label)])
        lenses_dict[each_label] = lenses_list
        lenses_list = []
    #print(lenses_dict)    #打印字典信息
    lenses_pd = pd.DataFrame(lenses_dict)    #生成pandas.DataFrame
    #print(lenses_pd)
    le = LabelEncoder()      #创建LabelEncoder()对象,用于序列化
    for col in lenses_pd.columns:      #为每一列序列化
        lenses_pd[col] = le.fit_transform(lenses_pd[col])
    #print(lenses_pd)   #打印编码信息

    #可视化
    clf = tree.DecisionTreeClassifier(max_depth = 4)   #创建DecisionTreeClassifier()类
    clf = clf.fit(lenses_pd.values.tolist(), lenses_target)     #使用数据,构建决策树
    dot_data = StringIO()
    tree.export_graphviz(clf, out_file = dot_data,    #绘制决策树
                        feature_names = lenses_pd.keys(),
                        class_names = clf.classes_,
                        filled=True, rounded=True,
                        special_characters=True)
    graph = pydotplus.graph_from_dot_data(dot_data.getvalue())
    graph.write_pdf("lensesTree.pdf")      #保存绘制好的决策树,以PDF的形式存储。

决策树可视化工具——Graphviz安装(Windows下)_第8张图片

决策树可视化工具——Graphviz安装(Windows下)_第9张图片

参考:https://blog.csdn.net/c406495762/article/details/76262487

但是后来发现:

with open("E:/pycharmproject/self learning3/决策树论文/pdfplace/tree.dot",'w') as f:
    f = tree.export_graphviz(dtc,out_file = f)

决策树可视化工具——Graphviz安装(Windows下)_第10张图片

你可能感兴趣的:(工具之家,代码,机器学习)