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

news2025/1/24 7:19:35

在这里插入图片描述

🤵‍♂️ 个人主页: @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函数并传入决策树模型、特征名称和类别名称作为参数:

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函数的详细信息和可选参数的使用方式。
在这里插入图片描述

						  🤞到这里,如果还有什么疑问🤞
					🎩欢迎私信博主问题哦,博主会尽自己能力为你解答疑惑的!🎩
					 	 🥳如果对你有帮助,你的赞是对博主最大的支持!!🥳

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1268258.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

基于SSM的航空票务推荐系统的设计与实现

末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…

光伏、储能双层优化配置接入配电网研究(附带Matlab代码)

由于能源的日益匮乏,电力需求的不断增长等,配电网中分布式能源渗透率不断提高,且逐渐向主动配电网方向发展。此外,需求响应(demand response,DR)的加入对配电网的规划运行也带来了新的因素。因此,如何综合考…

UE 事件分发机制(二) day10

自定义事件分发机制 自建事件分发机制与结构 Unreal推荐的游戏逻辑开发流程 基于 Unreal推荐的游戏逻辑开发流程,一般我们的整体规划也就是这样 大致结构类图 创建接口类与管理类以及所需函数 新建一个Unreal接口类作为接口 然后创建一个蓝图函数库的基类 Ev…

适合大部分人可以做的兼职副业

大部分人每天八点上班,五点下班,日复一日地重复着枯燥的工作内容,关键是工资还不够花。那么,怎么才能增加日常收入、提高生活质量呢?副业兼职是个不错的赚钱选择。打工人除去日常工作,额外的空闲时间还是很…

宏基因组分析项目又双叒叕出新了!期盼已久的铁循环来了!!

铁是地球上几乎所有生命的微量营养素。它可以被铁氧化和铁还原微生物用作电子供体和电子受体,并用于多种生物过程,包括光合作用和呼吸作用。虽然铁是地壳中含量第四丰富的金属,但在有毒环境中,铁的生长往往受到限制,因…

惠威M200MKII音箱拆机

惠威M200MKII音箱是一对老音箱了,买了大概快有十多年了吧,几年前就已经有音量旋钮旋转的时候有噪音问题,一直用使用前快速左右旋一段时间,让电位器内部摩擦一下,就会好不少,但过些天又不行了。因为不是蓝牙…

基于springboot和vue的教务学生选课管理系统的设计与实现 (含源码+sql+视频导入教程)

👉文末查看项目功能视频演示获取源码sql脚本视频导入教程视频 1 、功能描述 基于Springboot和vue的教务(学生)管理系统拥有三种角色:管理员、教师和学生 管理员:班级管理、课程管理、创建课程、管理员管理、教师管理…

SDN、SD-WAN、CDN、SDH分别是什么,有什么关联?

SDN代表“软件定义网络”,是一种网络架构,它将网络控制和数据转发分离。SDWAN代表“软件定义广域网”,是SDN的一种实现,在广域网中使用虚拟化技术来连接分支机构和数据中心。 CDN代表“内容分发网络”,是一种通过在全球…

Python内置函数与标准库函数的详细解读

一、内置函数与标准库函数的区分 Python 解释器自带的函数叫做内置函数,这些函数可以直接使用,不需要导入某个模块。 Python 解释器也是一个程序,它给用户提供了一些常用功能,并给它们起了独一无二的名字,这些常用功能…

算法通关村第一关—青铜挑战—用Java基本实现各种链表操作

文章目录 第一关—链表【青铜挑战】1.1 单链表的概念1.2 链表的相关概念1.3 创建链表 - Java实现1.4 链表的增删改查1.4.1 遍历单链表 - 求单链表长度1.4.2 链表插入 - 三种位置插入(1)在链表的表头插入(2)在链表的中间插入&#…

sqlserver调试clr程序集

右键项目属性,选择调试,勾选sqlserver调试选项: 选择附加到进程调试,勾选显示所有用户的进程,选择sqlserver.exe进程,打好程序集的断点,基于sqlserver触发clr程序集,即可中止到相关断…

个人开发者是否能借助开源获利?

前言 近几年国内外开源软件的成倍增长,以及开源软件在互联网领域的比重越来越高,开源软件扮演者越来越重要的角色,所以开源软件不仅推动了技术领域的不断创新和发展,也给个人开发者们提供了越来越多的合作机会和获利的机会。同时&…

二叉树(判断是否为单值二叉树)

题目(力扣): 判断二叉树上每个节点的值是否相同,就需要让root节点分别与左节点和右节点分别比较是否相同。 注意:root等于空时,直接可以返回true; 首先,先判断他的特殊情况&#x…

序列号管理

序列号管理,将从以下方面进行学习和阐述 WHY 为什么需要序列号,有什么作用 HOW sap如何进行管理序列号 WHEN 什么情况下适合进行序列号管理 1、 什么是序列号 首先简单介绍一个序列号是什么东西,我们使用的手机、电脑或者大家…

HarmonyOS4.0开发应用(一)【工具安装】

工具安装 地址:https://developer.harmonyos.com/cn/develop/deveco-studio#download 我是windows,所以安装的windows 解压后双击该文件进行安装 安装完成后可选择是否导入开发工具的设置 这里选择不导入进入到工具内 点击Next进行安装 都没问题最终就可以开…

操作系统原理-作业一-进程同步

1.某理发店可同时供 10 人理发,当店中顾客少于 10 人时,则店外的顾客可立即进入,否则需在外面等待。请定义所需信号量并写出信号量各种取值( 大于 0 、等于 0 、小于0)分别代表的含义,并用 P 、 V 操作编程实现完成多个顾…

最高可挽回 20% 损失!东京大学利用 AI 及无人机,预测农作物最佳采收日期

内容一览:如果能在短期内确定并预测田间所有作物的生长状况,就可以设定最佳采收日期,减少非标准尺寸作物的数量,并最大限度地减少收入损失。对此,来自东京大学和千叶大学的研究人员,给出了 AI 无人机解决方…

华为鸿蒙:安卓,拜拜了您呢!

9 月底,华为举办了今年的秋季全场景新品发布会,接近尾声的时候,华为终端 BG CEO 余承东突然宣布,鸿蒙 HarmonyOS NEXT 即将发布,鸿蒙原生应用全面启动。 不同于之前 HarmonyOS 基于 AOSP(Android 开放源代…

Ebullient 硬件篇

一. 简介 哈喽,大家好,好久没有给大家分享新项目了,但之前分享了许多项目都没有认认真真的做完过,做到了一半,由于某些原因就放弃了,给自己的一种感觉是做了很多东西,但是能拿出来讲的缺没有几…

Verilator 用法

Verilating … 威尔逊-斯奈德版权所有 2003-2023。 … SPDX 许可证标识符: 仅限 LGPL-3.0 或 Artistic-2.0 验证 Verilator 可通过五种主要方式使用: 使用 --cc 或 :vlopt:-sc 选项,Verilator 将分别把设计翻译成 C 或 SystemC 代码。 将设计…