[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.