我是靠谱客的博主 轻松绿茶,最近开发中收集的这篇文章主要介绍决策树可视化,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

决策树相比其他算法的一个重要特性就是——可解释性,构建决策树的过程就相当于形成 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》

最后

以上就是轻松绿茶为你收集整理的决策树可视化的全部内容,希望文章能够帮你解决决策树可视化所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(70)

评论列表共有 0 条评论

立即
投稿
返回
顶部