概述
决策树相比其他算法的一个重要特性就是——可解释性,构建决策树的过程就相当于形成 if-then 规则集。如果我们能够将生成的决策树可视化,那么我们就可以对数据集与预测值之间的关系有清晰的认识。
我们可以使用 graphviz 包来帮助我们可视化决策树模型,安装地址传送门。然后,选择适合操作系统的版本下载。下载完成后可以将 graphviz bin 目录路径添加到系统环境变量中,这样方便后续的操作。
代码示例
首先,我们以 sklearn.datasets 包中的鸢尾花数据集为例。
from sklearn.datasets import load_iris
from sklearn.tree import DecisionTreeClassifier
dataset = load_iris()
x = dataset.data
y = dataset.target
接着,我们训练决策树模型,新增参数 max_depth 用以限制树的深度,为了决策树模型过拟合,在这里主要是不想让最后导出的决策树图片过大,方便大家观看。
model = DecisionTreeClassifier(max_depth=3)
model.fit(x, y)
然后,调用 export_graphviz() 方法输出一个图形定义文件,命名为 iris_tree.dot。
from sklearn.tree import export_graphviz
export_graphviz(
model,
out_file='iris_tree.dot',
feature_names=dataset.feature_names,
class_names=dataset.target_names,
rounded=True,
filled=True
)
最后,可以使用 graphviz 包的中的 dot 命令行工具将这个 .dot 文件转换为其他格式,例如 PDF 或 PNG。
dot -Tpng iris_tree.dot -o iris_tree.png
【iris_tree.png】:
我们再把 max_depth 设置得大一些,看看最后生成的决策树长什么样?
model = DecisionTreeClassifier(max_depth=5)
model.fit(x, y)
参考
- 《机器学习实战-基于Scikit-Learn和TensorFlow》
最后
以上就是轻松绿茶为你收集整理的决策树可视化的全部内容,希望文章能够帮你解决决策树可视化所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复