机器学习模型可视化分析和诊断神器Yellowbrick

大家好,机器学习(ML)作为人工智能的核心,近来得到巨大应用,ML是使计算机能够在无需显式编程的情况下进行学习和预测或决策。ML算法通过学习历史数据模式,来对新的未见数据做出明智的预测或决策。然而,构建和训练ML模型只是第一步,同样重要的是对这些模型进行分析和解释,以深入了解其行为、性能和局限性。模型分析帮助我们了解模型对数据底层模式的捕捉程度,识别潜在的偏差或错误,并对模型改进或部署做出明智决策。

随着机器学习模型变得日益复杂,理解其内部工作原理和有效评估其性能变得更加具有挑战性。各个机器学习框架也实现各种各样评估、分析及可视化模型的工具和软件包,Yellowbrick就是其中的一个,提供了强大的模型可视化分析库,可以帮助我们直观地分析和诊断机器学习模型的表现。接下来的内容,我们将深入了解Yellowbrick,探索其功能及表现,看看它如何成为机器学习模型可视化分析与诊断的神器。

图片

1.Yellowbrick

Yellowbrick是一个专注于视觉诊断和模型分析的Python库,它与流行的机器学习库如scikit-learn和XGBoost无缝集成,提供了多种可视化工具,以帮助模型评估和解释。Yellowbrick由District Data Labs团队开发,提供了一个直观的界面,使用户仅需几行代码就能创建信息丰富的可视化图表。

github 地址:https://github.com/DistrictDataLabs/yellowbrick

使用pip命令安裝Yellowbrick:

pip install yellowbrick -i https://pypi.tuna.tsinghua.edu.cn/simple

下面介绍特征可视化和模型评估可视化的实例,包括特征可视化(Feature Visualization)、K-Means肘部图(Elbow Plot)、混淆矩阵(Confusion Matrix)、残差图(Residual Plot)、流形学习(Manifold Learning),进而理解Yellowbrick特征和用处。 

2.特征可视化 

在此实例中,可以看到Rank2D如何使用协方差对数据集中的每个特征进行成对比较。通过计算特征之间的协方差,Rank2D能够度量它们之间的相关性,然后将它们按照排名显示为左下角三角形图。

from yellowbrick.features import Rank2D
from sklearn.datasets import load_iris

# 加载示例数据
data = load_iris()
X = data.data
y = data.target
features = data.feature_names

# 创建 Rank2D 可视化器
visualizer = Rank2D(features=features, algorithm='covariance')

# 将数据拟合到可视化器中
visualizer.fit(X, y)

# 转换数据
visualizer.transform(X)

# 渲染可视化图
visualizer.show()

3.K-Means肘部图(Elbow Plot)

肘部图(Elbow Plot)是通过可视化平方距离和来帮助确定K-means聚类中的最佳簇数,使用Yellowbrick预定义函数来创建此可视化图表。

import logging
logging.getLogger('matplotlib').setLevel(logging.ERROR)

from sklearn.cluster import KMeans
from yellowbrick.cluster import KElbowVisualizer
from sklearn.datasets import make_blobs

X, y = make_blobs(n_samples=100, centers=4, random_state=42)

model = KMeans()

visualizer = KElbowVisualizer(model, k=(2, 10))

visualizer.fit(X)
visualizer.show()

在可视化图表中清楚地看到最佳簇数为4,只需几行代码就可创建图表,操作简便、省时高效。

4.混淆矩阵(Confusion Matrix)

混淆矩阵有助于可视化分类模型的真正阳性、真正阴性、假阳性和假阴性预测。下面是分类模型的混淆矩阵:

from yellowbrick.classifier import ConfusionMatrix
from sklearn.datasets import load_iris
from sklearn.model_selection import train_test_split
from sklearn.svm import SVC

X, y = load_iris(return_X_y=True)

X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)

classifier = SVC(kernel='linear')
classifier.fit(X_train, y_train)

visualizer = ConfusionMatrix(classifier)

visualizer.fit(X_train, y_train)
visualizer.score(X_test, y_test)
visualizer.show()

5.残差图(Residual Plot)

残差图有助于分析回归模型中预测值与实际值之间的差异。下面是回归模型的可视化残差图的示例:

from sklearn.datasets import make_regression
from sklearn.linear_model import LinearRegression
from yellowbrick.regressor import ResidualsPlot

X, y = make_regression(n_samples=100, n_features=1, noise=0.3, random_state=42)

model = LinearRegression()

visualizer = ResidualsPlot(model)

visualizer.fit(X, y)
visualizer.show()

以上只展示了Yellowbrick的四个简单实例,Yellowbrick支持创建更多的图表和图形,以进行更全面的机器学习模型分析。 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Jmeter示例参数化

Jmeter示例 1.Jmeter第一个案例操作步骤 2.重点组件线程组1.添加线程组2.线程组的特点3.线程组的分类4.线程组参数详解在取样器执行错误后要执行的动作线程属性调度器配置 5.http请求6.查看结果树 3.Jmeter 参数化1.用户定义的变量场景操作步骤 2.CSV数据文件设置场景操作步骤参…

idea中显示git的Local Changes

1. 第一打开idea中的Settings文件 2. 找到Version Contro中的commint 3. 取消勾选应用即可 4. 本地提交就会显示出来

eNSP小练习一枚

问答看到的,随便敲了敲,希望各路大佬不吝赐教~ 话说现在的问答全是ai,乌烟瘴气的 首先配置全互通,ip vlan 端口隔离 ospf啥的 SWA # vlan batch 10 20 30 99 # interface Vlanif1ip address 10.1.1.2 255.255.255.0 # interf…

Linux--09---RPM 、YUM

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 RPM1 什么是RPM2 RPM包的名称格式3.RPM查询命令4.RPM卸载命令5.RPM安装命令 YUM1 什么是YUMYUM优势1.自动下载RPM包并且安装2.自动处理依赖性关系,并且一…

西门子CPU与汇川伺服通信与控制

西门子CPU与汇川620F伺服通信与控制 一、西门子CPU与汇川620F伺服通信与控制1、器件准备2、伺服软件设置3、PLC添加汇川伺服描述文件4、PLC编程调试5、总结 二、西门子s7-1500限位信号接到伺服的方法1、通过默认报文获取限位信号2、添加自定义报文获取限位信号3、总结 三、西门…

MySQL主从复制(一):主备一致

MySQL主备的基本原理 如图所示就是基本的主备切换流程: 在状态1中, 客户端的读写都直接访问节点A, 而节点B是A的备库, 只是将A的更新都同步过来, 到本地执行。 这样可以保持节点B和A的数据是相同的。 当需要切换的时候…

【AI大模型】Embedding模型解析 文本向量知识库的构建和相似度检索

🚀 作者 :“大数据小禅” 🚀 文章简介 :本专栏后续将持续更新大模型相关文章,从开发到微调到应用,需要下载好的模型包可私。 🚀 欢迎小伙伴们 点赞👍、收藏⭐、留言💬 目…

用Sora等AI视频大模型赚钱的48种方式

不废话,直接上干货! \1. 定制视频创作服务:为寻找在社交媒体平台上脱颖而出的企业和个人提供定制视频制作服务,或用于个人使用。根据特定主题或行业量身定制视频,例如旅行、教育或产品营销。 \2. **教育内容包&#…

element-plus:踩坑日记

el-table Q:有fixed属性时,无数据时,可能出现底部边框消失的bug 现象: 解决方法: .el-table__empty-block {border-bottom: 1px solid var(--el-table-border-color); } el-collapse 折叠面板 Q:标题上…

Linux_应用篇(07) 系统信息与系统资源

在应用程序当中,有时往往需要去获取到一些系统相关的信息,譬如时间、日期、以及其它一些系统相关信息,本章将向大家介绍如何通过 Linux 系统调用或 C 库函数获取系统信息, 譬如获取系统时间、日期以及设置系统时间、日期等&#x…

Python——基于共享单车使用量数据的可视化分析(1)

目录 🧾 1、数据集(部分数据) ✏️ 2、导入数据集与必要模块 1️⃣ 2.1 导入库以及字体包 2️⃣ 2.2 读取数据集 3️⃣ 2.3 查看数据集基本信息 ⌨️ 3、数据预处理 1️⃣ 3.1删除无关字段 2️⃣ 3.2对各字段进行中文标识 3️⃣ 3.3…

Kubernetes——Kubectl详解

目录 前言 一、陈述式资源管理方法 二、Kubectl命令操作 1.查 1.1kubectl version——查看版本信息 1.2kubectl api-resources——查看资源对象简写 1.3kubectl cluster-info——查看集群信息 1.4配置Kubectl补全 1.5journalctl -u kubelet -f——查看日志 1.6kubec…

电子招投标系统源码实现与立项流程:基于Spring Boot、Mybatis、Redis和Layui的企业电子招采平台

随着企业的快速发展,招采管理逐渐成为企业运营中的重要环节。为了满足公司对内部招采管理提升的要求,建立一个公平、公开、公正的采购环境至关重要。在这个背景下,我们开发了一款电子招标采购软件,以最大限度地控制采购成本&#…

redis核心面试题一(架构原理+RDB+AOF)

文章目录 0. redis与mysql区别1. redis是单线程架构还是多线程架构2. redis单线程为什么这么快3. redis过期key删除策略4. redis主从复制架构原理5. redis哨兵模式架构原理6. redis高可用集群架构原理7. redis持久化之RDB8. redis持久化之AOF9. redis持久化之混合持久化 0. red…

【linux-uboot移植-mmc及tftp启动-IMX6ULL】

目录 1. uboot简介2. 移植前的基本介绍:2.1 环境系统信息: 3. 初次编译4. 烧录编译的u-boot4.1 修改网络驱动 5. 通过命令启动linux内核5.1 通过命令手动启动mmc中的linux内核5.1.1 fatls mmc 1:15.1.2 fatload mmc 1:1 0x80800000 zImage5.1.3 fatload mmc 1:1 0x8…

VMware 安装Windows 7 SP1

1.下载镜像 迅雷:ed2k://|file|cn_windows_7_enterprise_with_sp1_x64_dvd_u_677685.iso|3265574912|E9DB2607EA3B3540F3FE2E388F8C53C4|/ 2.安装过程 自定义名字,点击【浏览】自定义安装路径 点击【浏览】,选择下载镜像的路径 结束啦~ Win…

Pytorch深度学习实践笔记4

🎬个人简介:一个全栈工程师的升级之路! 📋个人专栏:pytorch深度学习 🎀CSDN主页 发狂的小花 🌄人生秘诀:学习的本质就是极致重复! 视频来自【b站刘二大人】 1 反向传播 Back propaga…

力扣Hot100-73矩阵置零(标记数组)

给定一个 m x n 的矩阵,如果一个元素为 0 ,则将其所在行和列的所有元素都设为 0 。请使用 原地 算法。 示例 1: 输入:matrix [[1,1,1],[1,0,1],[1,1,1]] 输出:[[1,0,1],[0,0,0],[1,0,1]]示例 2: 输入&…

2024年二建准考证打印入口已开通!

24年二建将于6月1日、2日举行,目前西藏、陕西准考证打印入口已开通,各省也将陆续开始准考证打印工作。 2024二建考试时间安排 2024二建准考证打印时间 二建准考证打印须知 01 准考证打印信息显示空白怎么办? 1)使用电脑自带的浏览器重新试一下。 2)…

【话题】你眼中的IT行业现状与未来趋势

大家好,我是全栈小5,欢迎阅读小5的系列文章,这是《话题》系列文章 目录 引言一、IT行业的现状1.1 云计算与大数据1.2 人工智能与机器学习1.3 物联网与5G通信1.4 区块链技术 二、IT行业未来发展趋势2.1 边缘计算与智能设备2.2 深度学习与自然语…