scikit-learn实现决策树并用graphviz/pydotplus实现可视化

1. 用anaconda安装pydotplus

要说一下的是在python3.5以前用pydot。python3.5及以后pydot已经停止开发了,要用pydotplus。此博客用的python3.7版本。
在anaconda中安装pydotplus可能安装不上,如图所示,没办法点击apply安装:
scikit-learn实现决策树并用graphviz/pydotplus实现可视化_第1张图片
这时候打开terminal:
scikit-learn实现决策树并用graphviz/pydotplus实现可视化_第2张图片
输入pip install pydotplus 和 pip install graphviz
scikit-learn实现决策树并用graphviz/pydotplus实现可视化_第3张图片

2. 安装graphviz

去官网下载,官网可能会很慢。或者点击这里下载graphviz2.38.msi。
安装完成后,在环境变量->系统变量的path中加入graphviz2.38安装的bin文件夹:
scikit-learn实现决策树并用graphviz/pydotplus实现可视化_第4张图片
安装完成后一定要重启pycharm,不然仍会提示找不到 GraphViz。,如果不重启的话,可以在代码中通过代码手动加入路径:

import os
os.environ["PATH"] += os.pathsep + 'D:/Program Files (x86)/Graphviz2.38/bin/'

3.代码示例

# 决策树模型
from sklearn import datasets
from sklearn.tree import DecisionTreeClassifier
import io
from sklearn import tree
import pydotplus
# 添加路径,安装好graphviz重启pycharm后不需要这步代码
import os
os.environ["PATH"] += os.pathsep + 'D:/Program Files (x86)/Graphviz2.38/bin/'
# 生成分类数据
x, y = datasets.make_classification(1000, 20, n_informative=3)
# 决策树函数、训练数据
dt = DecisionTreeClassifier()
dt.fit(x, y)
# 可视化决策树
str_buffer = io.StringIO()
tree.export_graphviz(dt, out_file=str_buffer)
graph = pydotplus.graph_from_dot_data(str_buffer.getvalue())
graph.write_jpg('decision_tree.jpg')

得到的decision_tree.jpg如图所示:

你可能感兴趣的:(Scikit_learn)