怎么画出决策树-两种决策树的可视化方法

这篇具有很好参考价值的文章主要介绍了怎么画出决策树-两种决策树的可视化方法。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

一、决策树简单介绍

1.决策树是什么

二.如何实现决策树

三、决策树可视化

3.1 决策树可视化方法一:使用graphviz画出决策树

3.2 决策树可视化方法二:使用plot_tree画出决策树


 本文部分图片来自《老饼讲解-机器学习》

一、决策树简单介绍

1.决策树是什么

策树模型是一种常用于研究类别归属和预测关系的模型。在决策树中,每个非叶节点表示一个特征属性上的测试,每个分支代表这个特征属性在某个值域上的输出,而每个叶节点存放一个类别。使用决策树进行决策的过程就是从根节点开始,测试待分类项中相应的特征属性,并按照其值选择输出分支,直到到达叶子节点,将叶子节点存放的类别作为决策结果。

算法决策树怎么画,机器学习,决策树,算法,机器学习

二.如何实现决策树

在python中实现决策树需要借用sklearn包,下面是一个决策树的实现代码:

from sklearn.datasets import load_iris
from sklearn import tree

#----------------数据准备----------------------------
iris = load_iris()                          # 加载数据

#---------------模型训练----------------------------------
clf = tree.DecisionTreeClassifier()         # sk-learn的决策树模型
clf = clf.fit(iris.data, iris.target)        # 用数据训练树模型构建()
r = tree.export_text(clf, feature_names=iris['feature_names'])


#---------------模型预测结果------------------------
text_x = iris.data[[0,1,50,51,100,101], :]
pred_target_prob = clf.predict_proba(text_x)        # 预测类别概率
pred_target = clf.predict(text_x)              # 预测类别

#---------------打印结果---------------------------
print("\n===模型======")
print(r)
print("\n===测试数据:=====")
print(text_x)
print("\n===预测所属类别概率:=====")
print(pred_target_prob)
print("\n===预测所属类别:======")
print(pred_target)

运行后显示结果如下:

===模型======
|--- petal length (cm) <= 2.45
|   |--- class: 0
|--- petal length (cm) >  2.45
|   |--- petal width (cm) <= 1.75
|   |   |--- petal length (cm) <= 4.95
|   |   |   |--- petal width (cm) <= 1.65
|   |   |   |   |--- class: 1
|   |   |   |--- petal width (cm) >  1.65
|   |   |   |   |--- class: 2
|   |   |--- petal length (cm) >  4.95
|   |   |   |--- petal width (cm) <= 1.55
|   |   |   |   |--- class: 2
|   |   |   |--- petal width (cm) >  1.55
|   |   |   |   |--- sepal length (cm) <= 6.95
|   |   |   |   |   |--- class: 1
|   |   |   |   |--- sepal length (cm) >  6.95
|   |   |   |   |   |--- class: 2
|   |--- petal width (cm) >  1.75
|   |   |--- petal length (cm) <= 4.85
|   |   |   |--- sepal width (cm) <= 3.10
|   |   |   |   |--- class: 2
|   |   |   |--- sepal width (cm) >  3.10
|   |   |   |   |--- class: 1
|   |   |--- petal length (cm) >  4.85
|   |   |   |--- class: 2

===测试数据:=====
[[5.1 3.5 1.4 0.2]
 [4.9 3.  1.4 0.2]
 [7.  3.2 4.7 1.4]
 [6.4 3.2 4.5 1.5]
 [6.3 3.3 6.  2.5]
 [5.8 2.7 5.1 1.9]]

===预测所属类别概率:=====
[[1. 0. 0.]
 [1. 0. 0.]
 [0. 1. 0.]
 [0. 1. 0.]
 [0. 0. 1.]
 [0. 0. 1.]]

===预测所属类别:======
[0 0 1 1 2 2]

这样的结果是非常不直观的,下面我们讲讲怎么画出决策树,将决策树可视化

三、决策树可视化

3.1 决策树可视化方法一:使用graphviz画出决策树

下面我们讲讲怎么画出决策树,让决策树可视化,更方便我们查看模型

要让决策树可视化,需要先通过pip安装graphviz包,安装graphviz包的命令: pip install graphviz

安装完  后,就可以在python中通过代码将决策树可视化,具体代码如下:

from sklearn.datasets import load_iris
from sklearn import tree
import graphviz 

#----------------数据准备----------------------------
iris = load_iris()                          # 加载数据

#---------------模型训练----------------------------------
clf = tree.DecisionTreeClassifier()         # sk-learn的决策树模型
clf = clf.fit(iris.data, iris.target)       # 用数据训练树模型构建()
r = tree.export_text(clf, feature_names=iris['feature_names'])
dot_data = tree.export_graphviz(clf, out_file=None, 
                     feature_names=iris.feature_names,  
                     class_names=iris.target_names,  
                      filled=True, rounded=True,  
                      special_characters=True)  
graph = graphviz.Source(dot_data)  
graph   #显示图形。(如果没显示,则需要独立运行这一句)
#graph.render("iris") #将图形保存为iris.pdf文件。
#graph.view()        # 直接打开pdf文件展示

运行后的结果如下:

算法决策树怎么画,机器学习,决策树,算法,机器学习

画出决策树后,可以清晰看到整个树的构建过程和树最后的结构,这样更方便我们分析模型和对模型进行优化。

代码与图片来自《老饼讲解|sklearn决策树结果可视化》

3.2 决策树可视化方法二:使用plot_tree画出决策树

plot_tree是sklearn决策树包自带的命令,可以比较简单的画出决策树

下面我们展示怎么使用plot_tree来将决策树可视化

from sklearn.datasets import load_iris
from sklearn import tree

#----------------数据准备----------------------------
iris = load_iris()                          # 加载数据

#---------------模型训练----------------------------------
clf = tree.DecisionTreeClassifier()         # sk-learn的决策树模型
clf = clf.fit(iris.data, iris.target)       # 用数据训练树模型构建()
tree.plot_tree(clf)

运行结果如下:

算法决策树怎么画,机器学习,决策树,算法,机器学习

两种方法都是可以画出决策树的,使用graphviz可以通过调整参数设置得更为美观,但plot_tree就简单与简洁。


写文不易,点赞收藏吧~!文章来源地址https://www.toymoban.com/news/detail-821262.html

到了这里,关于怎么画出决策树-两种决策树的可视化方法的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 大数据智能决策系统架构:数据可视化与仪表盘

    作者:禅与计算机程序设计艺术 传统的决策系统中往往采用静态的报表形式呈现数据,用户只能看到历史数据的统计信息,无法直观的感受到数据的变化过程以及趋势,不利于进行分析和预测。而在大数据时代,海量的数据产生的速度、种类及复杂性越来越高,如何快速准确

    2024年02月08日
    浏览(30)
  • python机器学习数据建模与分析——决策树详解及可视化案例

    你是否玩过二十个问题的游戏,游戏的规则很简单:参与游戏的一方在脑海里想某个事物,其他参与者向他提问题,只允许提20个问题,问题的答案也只能用对或错回答。问问题的人通过推断分解,逐步缩小待猜测事物的范围。决策树的工作原理与20个问题类似,用户输人一系

    2024年02月03日
    浏览(34)
  • 【阿旭机器学习实战】【36】糖尿病预测---决策树建模及其可视化

    【阿旭机器学习实战】系列文章主要介绍机器学习的各种算法模型及其实战案例,欢迎点赞,关注共同学习交流。 关注GZH: 阿旭算法与机器学习 ,回复:“ ML36 ”即可获取本文数据集、源码与项目文档 pregnant glucose bp skin insulin bmi pedigree age label 0 6 148 72 35 0 33.6 0.627 50 1 1 1

    2024年02月11日
    浏览(39)
  • 选择适合你的数据可视化工具:提升洞察力的关键决策

    导言: 在当今数据驱动的世界中,数据可视化工具成为了帮助我们理解和传达数据见解的关键工具之一。数据可视化不仅能够将复杂的数据转化为易于理解的可视化形式,还能帮助我们发现数据中的模式、趋势和关联。然而,随着市场上可视化工具的不断增多,选择适合自己

    2024年02月14日
    浏览(40)
  • python机器学习(七)决策树(下) 特征工程、字典特征、文本特征、决策树算法API、可视化、解决回归问题

    特征提取就是将任意数据转换为可用于机器学习的数字特征。计算机无法直接识别字符串,将字符串转换为机器可以读懂的数字特征,才能让计算机理解该字符串(特征)表达的意义。 主要分为:字典特征提取(特征离散化)、文本特征提取(文章中特征词汇出现的频次)。 字典特

    2024年02月14日
    浏览(43)
  • sklearn中决策树模块的剪枝参数ccp_alpha如何可视化调整

    决策树作为树模型中最经典的算法,根据训练数据生长并分裂叶子结点,容易过拟合。所以一般来说会考虑生长停止后进行剪枝,把一些不必要的叶子结点去掉(让其父结点作为叶子结点),这样或许对其泛化能力有积极作用。 在scikit-learn的决策树模块里,默认是不剪枝的,

    2024年02月21日
    浏览(31)
  • [Unity] GraphView 可视化节点的事件行为树(二) UI Toolkit介绍,制作事件行为树的UI

    目录 前文 UI Toolkit 介绍 制作事件行为树的UI界面 GameObject关联编辑器窗口 [Unity] 使用GraphView实现一个可视化节点的事件行为树系统(序章/Github下载)_Sugarzo的博客-CSDN博客_unity graphview [Unity] GraphView 可视化节点的事件行为树(一) Runtime Node_Sugarzo的博客-CSDN博客         在上一

    2024年02月03日
    浏览(49)
  • R语言软件对房屋价格预测:回归、LASSO、决策树、随机森林、GBM、神经网络和SVM可视化|数据分享...

    在房地产市场中,准确地预测房屋价格是至关重要的。过去几十年来,随着数据科学和机器学习的快速发展,各种预测模型被广泛应用于房屋价格预测中。而R语言作为一种强大的数据分析和统计建模工具,被越来越多的研究者和从业者选择用于房屋价格预测 ( 点击文末“阅

    2024年02月21日
    浏览(56)
  • 三维可视化平台有哪些?Sovit3D可视化平台怎么样?

    随着社会经济的发展和数字技术的进步,互联网行业发展迅速。为了适应新时代社会发展的需要,大数据在这个社会经济发展过程中随着技术的进步而显得尤为重要。同时,大数据技术的快速发展进程也推动了可视化技术的飞速发展,国内外各类可视化工具软件平台如雨后春

    2024年02月13日
    浏览(38)
  • R语言分析糖尿病数据:多元线性模型、MANOVA、决策树、典型判别分析、HE图、Box's M检验可视化...

    Reaven和Miller(1979)研究了145名非肥胖成年人的葡萄糖耐量和胰岛素血液化学指标之间的关系。他们使用斯坦福线性加速器中心的PRIM9系统将数据可视化为3D,并发现了一个奇特的图案,看起来像是一个有两个翼的大斑点 ( 点击文末“阅读原文”获取完整 代码数据 )。 相关视

    2024年02月07日
    浏览(29)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包