天天看点

决策树可视化graphviz

决策树可视化graphviz

这里以Windows为例,其他的类似

graphviz官网下载地址

决策树可视化graphviz
决策树可视化graphviz
决策树可视化graphviz
决策树可视化graphviz
决策树可视化graphviz
决策树可视化graphviz

安装

一直点下去就可以,记住自己的安装路径

环境变量配置

据说是系统变量和用户变量都需要配置,我这里没有验证就都配置了

决策树可视化graphviz
决策树可视化graphviz

验证是否成功

进去cmd中输入dot -version,显示如下内容就是成功了

决策树可视化graphviz

python环境中安装

我用的pycharm,在Terminal中

pip install graphviz

即可

至此,graphviz就安装完成了!!!

我主要是用来可视化决策树!

这是我的部分代码,注意这个知识决策树训练我定义的函数,并不能直接执行!!

import pandas as pd
from sklearn.preprocessing import StandardScaler
from sklearn.tree import DecisionTreeRegressor
from sklearn.externals.six import StringIO
from sklearn import tree


def train_decision_tree(df: pd.DataFrame, target_column: str, feature_columns: list):
    scaler = StandardScaler()

    x = df[feature_columns]
    y = df[target_column]

    # x = scaler.fit_transform(x)

    classifier = DecisionTreeRegressor(max_depth=5)
    classifier.fit(x, y)
    classifier.predict(x)
    dot_data = StringIO()
    tree.export_graphviz(classifier, out_file=dot_data, feature_names=feature_columns, filled=True,
                         rounded=True, special_characters=True)

    return scaler, classifier
           

但是我决策树标签中的中文显示乱码了,闹心×100(这个图是网上找的,内容相关,我自己的图不放了)

决策树可视化graphviz

解决办法

网上找到了两种办法,一种是将图形保存为png,另一种方法是将图形保存为pdf!

这里我只试了前一种,所以也只介绍前一种!

决策树可视化graphviz

这部分代码会在目录下生成一个

tree.dot

文件

按照网上的经验是将

tree.dot

中节点和边的

fontname

改为支持中文的,由于我这里只设计到节点,我只将节点的

fontname

改为了

fangsong

决策树可视化graphviz

接下来是在当前目录下的命令行中执行

dot -Tpng tree.dot -o test.png

,但是好巧不巧,又报错了

Error: dot: can’t open tree.dot

也不知道为啥,一通百度,但是不知道为啥莫名奇妙的好了,我啥也没改啊,以图为证!!!

决策树可视化graphviz

当然解决问题还是重要的,这里附上其他大佬的经验以供参考!

参考文献

https://blog.csdn.net/qq_33642342/article/details/86160880

https://www.dazhuanlan.com/2019/12/12/5df142efb0cf9/

https://www.pinggu.com/post/details/5eef3ffb2a465535582e3b8a

https://www.cnblogs.com/wqbin/p/11589533.html