【机器学习 | 可视化系列】可视化系列 之 决策树可视化

🤵‍♂️ 个人主页: @AI_magician

📡主页地址: 作者简介:CSDN内容合伙人,全栈领域优质创作者。

👨‍💻景愿:旨在于能和更多的热爱计算机的伙伴一起成长!!🐱‍🏍

🙋‍♂️声明:本人目前大学就读于大二,研究兴趣方向人工智能&硬件(虽然硬件还没开始玩,但一直很感兴趣!希望大佬带带)


【深度学习 | 核心概念】那些深度学习路上必经的核心概念,确定不来看看? (一) 作者: 计算机魔术师 版本: 1.0 ( 2023.8.27 )


摘要: 本系列旨在普及那些深度学习路上必经的核心概念,文章内容都是博主用心学习收集所写,欢迎大家三联支持!本系列会一直更新,核心概念系列会一直更新!欢迎大家订阅

该文章收录专栏

[✨--- 《深入解析机器学习:从原理到应用的全面指南》 ---✨]

@toc

t-SNE 可视化

t-SNE(t-Distributed Stochastic Neighbor Embedding)是一种降维和可视化技术,用于将高维数据映射到二维或三维空间中。它是一种非线性的降维方法,旨在保留原始数据之间的局部相似性关系。由Laurens van der Maaten和Geoffrey Hinton于2008年提出。在此之前,常用的降维方法如PCA(Principal Component Analysis)等主要关注全局结构,而缺乏对局部结构的捕捉能力。

t-SNE通过计算样本之间的相似度,并尝试在低维嵌入空间中保持这些相似度关系。它使用随机梯度下降等优化算法来最小化高维空间和低维嵌入空间之间的Kullback-Leibler散度。结果是,具有类似特征的样本会在低维投影中更接近。

因为t-SNE能够捕捉到复杂、非线性结构以及聚类效应,所以它通常被用于可视化高维数据集中不同类别或群组之间的分布关系。例如,在机器学习领域,可以使用t-SNE将特征向量表示为二维或三维点云图,并观察不同类别样本之间的分离程度。

决策树可视化

scikit-learn(sklearn)的tree模块提供了一个方便的函数plot_tree,用于可视化决策树模型。你可以使用以下步骤来使用plot_tree函数进行可视化(以iris数据集为例):

  1. 导入必要的库和模块:在Python脚本中,导入tree模块和matplotlib.pyplot库:

  2. 可视化决策树:使用plot_tree函数可视化决策树模型。

  3. 调用函数进行可视化:在你的代码中,调用visualize_decision_tree函数并传入决策树模型、特征名称和类别名称作为参数:

python 复制代码
from sklearn import tree
import matplotlib.pyplot as plt
from sklearn.datasets import load_iris

def visualize_decision_tree(decision_tree, feature_names, class_names):
    plt.figure(dpi=300)
    tree.plot_tree(decision_tree, feature_names=feature_names, class_names=class_names,
                   filled=True, rounded=True)
    plt.show()
clf = tree.DecisionTreeClassifier(random_state=0)
iris = load_iris()
clf = clf.fit(iris.data, iris.target)
visualize_decision_tree(clf,feature_names = iris.feature_names, class_names = iris.target_names)

结果如下图:

每一个节点都有分类阈值以及其gini指数和样本状态和类别状态。

在上面的代码中,decision_tree是你的决策树模型,feature_names是特征的名称列表,class_names是类别的名称列表。visualize_decision_tree函数使用plot_tree函数将决策树模型绘制为图形。 运行代码后,你将看到绘制出的决策树图形。

请注意,plot_tree函数提供了一些可选参数,可以用于自定义图形的外观。你可以查阅scikit-learn的文档以了解更多关于plot_tree函数的详细信息和可选参数的使用方式。

						  🤞到这里,如果还有什么疑问🤞
					🎩欢迎私信博主问题哦,博主会尽自己能力为你解答疑惑的!🎩
					 	 🥳如果对你有帮助,你的赞是对博主最大的支持!!🥳
相关推荐
千天夜24 分钟前
激活函数解析:神经网络背后的“驱动力”
人工智能·深度学习·神经网络
大数据面试宝典25 分钟前
用AI来写SQL:让ChatGPT成为你的数据库助手
数据库·人工智能·chatgpt
封步宇AIGC30 分钟前
量化交易系统开发-实时行情自动化交易-3.4.1.2.A股交易数据
人工智能·python·机器学习·数据挖掘
m0_5236742132 分钟前
技术前沿:从强化学习到Prompt Engineering,业务流程管理的创新之路
人工智能·深度学习·目标检测·机器学习·语言模型·自然语言处理·数据挖掘
HappyAcmen42 分钟前
IDEA部署AI代写插件
java·人工智能·intellij-idea
噜噜噜噜鲁先森1 小时前
看懂本文,入门神经网络Neural Network
人工智能
InheritGuo2 小时前
It’s All About Your Sketch: Democratising Sketch Control in Diffusion Models
人工智能·计算机视觉·sketch
weixin_307779132 小时前
证明存在常数c, C > 0,使得在一系列特定条件下,某个特定投资时刻出现的概率与天数的对数成反比
人工智能·算法·机器学习
封步宇AIGC2 小时前
量化交易系统开发-实时行情自动化交易-3.4.1.6.A股宏观经济数据
人工智能·python·机器学习·数据挖掘
Jack黄从零学c++2 小时前
opencv(c++)图像的灰度转换
c++·人工智能·opencv