Seaborn图表使用指南!
目录
- 介绍
- 线图
- 散点图
- 直方图
- 概率密度函数 (PDF)
- 箱线图
- 小提琴剧情
- 配对图
- 热图
- 关节图
- 地毯图
一、介绍
数据科学已成为一个突出的领域,近年来呈爆炸性增长。对精通从数据中获取见解并应用这些见解来解决现实世界问题的数据科学家的需求从未增加。使用图形、图表和其他表示形式可视化数据是一种从此信息中获取见解的技术。
Seaborn 是一个 Python 库,它允许我们绘制图表和绘图,帮助我们从数据中提取有用的见解。本博客的目的是提供它们的概述。话不多说,让我们开始吧。我们将使用 Iris 数据集进行可视化。您可以在此处找到数据。
二、导入数据和处理数据
请注意,如果您在 Kaggle 笔记本以外的任何地方运行它,您可能必须将 Iris.csv 文件的本地地址放在上面的函数中。如果您还没有文件,请从上面的链接下载该文件。
#Importing Libraries import numpy as np import pandas as pd import seaborn as sns#Getting the data in pandas DataFrame Format data = pd.read_csv('/kaggle/input/iris/Iris.csv') data.head() #Printing first 5 values in the dataset
数据集的前 5 个值。(来源:作者)
萼片长度厘米和萼片宽度厘米是鸢尾花萼片的长度和宽度,以厘米为单位计算。同样,PetallLengthCm和PetallWidthCm是鸢尾花花瓣的长度和宽度,以厘米为单位。物种表示花的种类。鸢尾有三种类型:鸢尾属、弗吉尼亚鸢尾和杂色鸢尾。
三、生成线图
在此图中,通过将两个变量(x 和 y)绘制在 2D 图上并将它们连接来显示它们之间的关系。它显示了变量如何随时间变化。线图有多种用途,包括研究动态变量(随时间变化)、查找模式和跟踪趋势。我们可以使用线图函数生成线图。
#Creating a line plot between Sepal Length and Sepal Width of all the #species sns.lineplot(data=data,x = 'SepalLengthCm',y='SepalWidthCm')
线图(来源:作者)
#We can also plot separate line plots for each of the species. sns.lineplot(data=data,x = 'SepalLengthCm',y='SepalWidthCm',hue = 'Species')
所有类别的单独线图(来源:作者)
四、散点图
散点图类似于折线图,但首选静态变量(不会随时间变化)。基本上,它将所有点绘制在 2D 图形上。散点图用于确定两个变量之间的相关性。我们可以通过散点图函数使用它。
#Generating a Scatter Plot of all the data points. sns.scatterplot(data=data,x = 'SepalLengthCm',y='SepalWidthCm')
散点图(来源:作者)
#We can also distinguish the points by their species sns.scatterplot(data=data,x = 'SepalLengthCm',y='SepalWidthCm',hue = 'Species')
所有类别的散点图(来源:作者)
五、直方图
直方图是最重要的图之一,可用于多种用途,包括检测数据中的异常值、偏度和方差。每个条形显示落在 x 轴上特定范围下的数据点的频率/数量。我们可以使用 histplot 函数绘制直方图。
#Plotting histogram for all the species sns.histplot(data=data,x='SepalLengthCm')
直方图(来源:作者)
#Plotting histograms for each species sns.histplot(data=data,x='SepalLengthCm',hue='Species')
单个物种的直方图(来源:作者)
六、概率密度函数 (PDF)
概率密度函数计算在值范围内找到随机变量的概率。此方法的目的是确定变量属于哪个分布。通过揭示变量属于哪个分布,我们可以选择最有效的机器学习模型在变量上运行,以获得最准确的结果。我们使用核密度估计来计算概率密度函数。我们可以使用 kdeplot 函数绘制它。
#Plotting the probability density function for Petal Length of all species sns.kdeplot(data=data,x='PetalLengthCm')
概率密度函数(来源:作者)
#Plotting the probability density function for Petal Length for #individual species sns.kdeplot(data=data,x='PetalLengthCm',hue='Species')
单个物种的概率密度函数(来源:作者)
从上图可以看出,Iris-Setosa的概率密度函数与其他物种没有重叠。因此,鸢尾花可以很容易地与其他物种区分开来。
七、箱线图
箱形图为我们提供了有关数据的五个见解,它们是:
- 下限 — 告诉我们数据集中的最小值
- 上限 — 为我们提供数据集中的最大值
下限和上限极值可用于检测异常值。
- 上四分位数 — 为我们提供数据集的第 75 个百分位数,即 75% 的数据落下的值(按升序排列时)。
- 下四分位数 — 为我们提供数据集的第 25 个百分位数,即 25% 的数据落下的值(按升序排列时)。
该框(下四分位数到上四分位数)称为四分位数范围。
- 中位数 — 为我们提供数据集的中位数
请参阅下面的箱形图以清晰理解。
箱形图(来源:作者)
#Plotting boxplot for individual species sns.boxplot(data=data,y='PetalLengthCm',x='Species')
单个物种的箱形图(来源:作者)
八、小提琴图
小提琴图类似于箱线图,但也指示变量的概率密度函数。这使它看起来像一把小提琴。您可以使用小提琴绘图功能绘制它。
请参阅下面的小提琴图以清晰理解。
小提琴剧情(来源:作者)
#Plotting violinplot for individual species sns.violinplot(data=data,y='PetalLengthCm',x='Species')
单个物种的小提琴图(来源:作者)
九、配对图
配对图允许我们绘制所有非分类变量的成对散点图。对于 x 轴和 y 轴上的相同变量,我们得到变量的直方图/概率密度函数。由于它将所有图绘制在一起,因此分析每个特征及其与其他特征的相关性变得非常容易。当数据集包含大量要素时,不建议使用成对图,因为它们需要相当长的时间来绘制。您可以使用配对图函数绘制配对图。
#Plotting pairplot sns.pairplot(data=data)
配对图(来源:作者)
#Plotting the pair plots for individial species sns.pairplot(data=data,hue='Species')
单个物种的配对图(来源:作者)
十、热图
热图通常用于研究数值变量的相关性。每个单元格都有一个颜色,表示两个变量之间的相关性。色调较深的颜色表示变量之间的高正相关,而色调较浅的颜色表示变量之间的高负相关。您可以使用热图功能绘制热图。
#Plotting the heatmap sns.heatmap(data=data.corr(), annot=True,cmap = "GnBu")
热图(来源:作者)
从热图中,我们知道具有高度相关性的货币对是:
- 花瓣长度和萼片长度
- 萼片长度和花瓣宽度
- 花瓣长度和花瓣宽度
此外,我们观察到所有对角线元素的相关性均为 1。这是因为这些平方与相同的变量相关,因此它是完美的相关性。
十一、关节图
在两个变量(x 和 y)的联合图中,我们绘制了两个变量的散点图和直方图/概率密度函数。联合图可用于单变量和双变量分析。
联合图 = 散点图 + 两个变量的直方图/概率密度函数。
#Plotting joint plot of Sepal Width and Petal Length sns.jointplot(data=data,x='PetalLengthCm',y='SepalWidthCm')
联合剧情(来源:作者)
#Plotting joint plot for individual species sns.jointplot(data=data,x='PetalLengthCm',y='SepalWidthCm',hue='Species')
单个物种的联合图(来源:作者)
十二、地毯图
与联合图类似,地毯图可用于单变量和双变量分析。地毯图显示了变量在 x 轴和 y 轴上的边际分布。可以为单个变量和多个变量绘制地毯图。
#Plotting rug plot for only Petal length for individual species sns.rugplot(data=data,x='PetalLengthCm',hue='Species')
单个变量的地毯图(来源:作者)
#Plotting rug plot for only Petal length and Sepal Length for individual #species sns.rugplot(data=data,x='PetalLengthCm',y='SepalLengthCm',hue='Species')
两个变量的地毯图(来源:作者)
十三、结论
对于单变量分析,我们可以使用
- 线图
- 箱线图
- 小提琴剧情
- 概率密度函数
- 直方图
- 联合情节
- 地毯图
对于双变量分析,我们可以使用
- 配对图
- 散布图
- 联合情节
- 热图
- 地毯图
相关文章:

Seaborn图表使用指南!
目录 介绍线图散点图直方图概率密度函数 (PDF)箱线图小提琴剧情配对图热图关节图地毯图 一、介绍 数据科学已成为一个突出的领域,近年来呈爆炸性增长。对精通从数据中获取见解并应用这些见解来解决现实世界问题的数据科学家的需求从未增加。…...

[C++ 网络协议编程] TCP/IP协议
目录 1. TCP/IP协议栈 2. TCP原理 2.1 TCP套接字中的I/O缓冲 2.2 TCP工作原理 2.2.1 三次握手(连接) 2.2.2 与对方主机的数据交换 2.2.3 四次握手(断开与套接字的连接) TCP(Transmission Control Protocol传输控…...

Unity用NPOI创建Exect表,保存数据,和修改删除数据。以及打包后的坑——无法打开新创建的Exect表
先说坑花了一下午才找到解决方法解决, 在Unity编辑模式下点击物体创建对应的表,获取物体名字与在InputText填写的注释数据。然后保存。创建Exect表可以打开,打包PC后,点击物体创建的表,打不开文件破损 解决方法&#…...

记一次fegin调用的媒体类型问题
1.问题:分页查询,分页参数传递不生效 2.开发环境:fegin接口 开发环境:调用接口 3.修改后:fegin接口不变 调用接口 前端媒体类型: 问题解决!!! 4.原因分析&…...
在Hive/Spark上运行执行TPC-DS基准测试 (ORC和TEXT格式)
目前,在Hive/Spark上运行TPC-DS Benchmark主要是通过早期由Hortonworks维护的一个项目:hive-testbench 来完成的。本文我们以该项目为基础介绍一下具体的操作步骤。不过,该项目仅支持生成ORC和TEXT格式的数据,如果需要Parquet格式,请参考此文《在Hive/Spark上执行TPC-DS基…...

如何仿写简易tomcat 实现思路+代码详细讲解
仿写之前,我们要搞清楚都要用到哪些技术 自定义注解,比如Tomcat使用的是Servlet,我们可以定义一个自己的MyServlet构造请求体和返回体,比如tomcat使用HttpRequest,我们可以自己定义myHttpRequestjava去遍历一个指定目…...
如何提高深度学习性能
可用于 对抗过度拟合并获得更好泛化能力的20 个提示、技巧和技术 如何从深度学习模型中获得更好的性能? 这是我最常被问到的问题之一。 可能会被问为: 如何提高准确率? ……或者可以反过来说: 如果我的神经网络表现不佳该怎么办? 我经常回答说:“我不太清楚,但我有很…...
ECMAScript版本对比:从ES1到ES2021
引言 ECMAScript(简称ES)是一种用于编写Web前端JavaScript的标准化语言。自1997年发布第一版(ES1)以来,ECMAScript已经经历了多个版本的更新和演进。每个版本都引入了新的语法和功能,为开发人员提供了更强…...

设计HTML5表格
在网页设计中,表格主要用于显示包含行、列结构的二维数据,如财务表格、调查数据、日历表、时刻表、节目表等。在大多数情况下,这类信息都由列标题或行标题及数据构成。本章将详细介绍表格在网页设计中的应用,包括设计符合标准化的…...
神经网络基础-神经网络补充概念-60-卷积步长
概念 在深度学习中,卷积步长(convolution stride)是指在卷积操作中滑动卷积核的步幅。卷积操作是神经网络中常用的操作之一,用于从输入数据中提取特征。步长决定了卷积核在输入数据上的滑动间隔,从而影响输出特征图的…...

怎么开通Tik Tok海外娱乐公会呢?
TikTok作为全球知名的社交媒体平台,吸引了数亿用户的关注和参与。许多公司和个人渴望通过开通TikTok直播公会进入这一领域,以展示自己的创造力和吸引更多粉丝。然而,成为TikTok直播公会并非易事,需要满足一定的门槛和申请找cmxyci…...

Java接口压力测试—如何应对并优化Java接口的压力测试
导言 在如今的互联网时代,Java接口压力测试是评估系统性能和可靠性的关键一环。一旦接口不能承受高并发量,用户体验将受到严重影响,甚至可能导致系统崩溃。因此,了解如何进行有效的Java接口压力测试以及如何优化接口性能至关重要…...

Coremail参与编制|《信创安全发展蓝皮书——系统安全分册(2023年)》
信创安全发展蓝皮书 近日,Coremail参与编制的《信创安全发展蓝皮书—系统安全分册(2023年)》重磅发布。 此次信创安全发展蓝皮书由工业和信息化部电子第五研究所联合大数据协同安全技术国家工程研究中心重磅共同发布。 本次蓝皮书涵盖信创系…...

分布式 - 消息队列Kafka:Kafka 消费者消息消费与参数配置
文章目录 1. Kafka 消费者消费消息01. 创建消费者02. 订阅主题03. 轮询拉取数据 2. Kafka 消费者参数配置01. fetch.min.bytes02. fetch.max.wait.ms03. fetch.max.bytes04. max.poll.records05. max.partition.fetch.bytes06. session.timeout.ms 和 heartbeat.interval.ms07.…...

批量爬虫采集大数据的技巧和策略分享
作为一名专业的爬虫程序员,今天主要要和大家分享一些技巧和策略,帮助你在批量爬虫采集大数据时更高效、更顺利。批量爬虫采集大数据可能会遇到一些挑战,但只要我们掌握一些技巧,制定一些有效的策略,我们就能在数据采集…...

Springboot 实践(7)springboot添加html页面,实现数据库数据的访问
前文讲解,项目已经实现了数据库Dao数据接口,并通过spring security数据实现了对系统资源的保护。本文重点讲解Dao数据接口页面的实现,其中涉及页面导航栏、菜单栏及页面信息栏3各部分。 1、创建html页面 前文讲解中,资源目录已经…...
Go中带标签的break/continue以及goto的差别
带标签的 continue: 直接跳到标签所标记的最外层循环的下一个迭代,忽略当前迭代剩余的代码。 带标签的 break: 直接跳出标签所标记的最外层循环,继续执行该循环之后的代码。 goto 关键字 goto 可以无条件地跳转到程序中指定的标…...

SaaS当然是一门好生意了啊
(1)SaaS关键特征 1、应用架构:多租户 2、部署:公有IaaS部署 3、商业模式:年度订阅续费 (2)用户云注册、用户在线付费 用户云注册、用户在线付费,站在中国乙方利益视角,多…...

ZooKeeper单机服务器启动
ZooKeeper服务器的启动,大体可以分为以下五个主要步骤:配置文件解析、初始化数据管理器、初始化网络I/O管理器、数据恢复和对外服务。下图所示是单机版ZooKeeper服务器的启动流程图。 预启动 预启动的步骤如下。 (1)统一由QuorumPeerMain作为启动类。 …...
Jenkins自动发送飞书消息
前言 公司办公软件用的是飞书套壳,本文主要介绍如何通过飞书机器人发送Jenkins构建的进度和消息。 方法 前置条件 创建一个飞书机器人搭建好Jenkins创建好构建任务 过程 根据飞书开发者平台的接口文档,用shell脚本封装一套调用飞书机器人发送消息接…...
DockerHub与私有镜像仓库在容器化中的应用与管理
哈喽,大家好,我是左手python! Docker Hub的应用与管理 Docker Hub的基本概念与使用方法 Docker Hub是Docker官方提供的一个公共镜像仓库,用户可以在其中找到各种操作系统、软件和应用的镜像。开发者可以通过Docker Hub轻松获取所…...

[ICLR 2022]How Much Can CLIP Benefit Vision-and-Language Tasks?
论文网址:pdf 英文是纯手打的!论文原文的summarizing and paraphrasing。可能会出现难以避免的拼写错误和语法错误,若有发现欢迎评论指正!文章偏向于笔记,谨慎食用 目录 1. 心得 2. 论文逐段精读 2.1. Abstract 2…...

DIY|Mac 搭建 ESP-IDF 开发环境及编译小智 AI
前一阵子在百度 AI 开发者大会上,看到基于小智 AI DIY 玩具的演示,感觉有点意思,想着自己也来试试。 如果只是想烧录现成的固件,乐鑫官方除了提供了 Windows 版本的 Flash 下载工具 之外,还提供了基于网页版的 ESP LA…...

从零开始打造 OpenSTLinux 6.6 Yocto 系统(基于STM32CubeMX)(九)
设备树移植 和uboot设备树修改的内容同步到kernel将设备树stm32mp157d-stm32mp157daa1-mx.dts复制到内核源码目录下 源码修改及编译 修改arch/arm/boot/dts/st/Makefile,新增设备树编译 stm32mp157f-ev1-m4-examples.dtb \stm32mp157d-stm32mp157daa1-mx.dtb修改…...
Linux云原生安全:零信任架构与机密计算
Linux云原生安全:零信任架构与机密计算 构建坚不可摧的云原生防御体系 引言:云原生安全的范式革命 随着云原生技术的普及,安全边界正在从传统的网络边界向工作负载内部转移。Gartner预测,到2025年,零信任架构将成为超…...
css3笔记 (1) 自用
outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size:0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格ÿ…...

以光量子为例,详解量子获取方式
光量子技术获取量子比特可在室温下进行。该方式有望通过与名为硅光子学(silicon photonics)的光波导(optical waveguide)芯片制造技术和光纤等光通信技术相结合来实现量子计算机。量子力学中,光既是波又是粒子。光子本…...
MySQL 8.0 事务全面讲解
以下是一个结合两次回答的 MySQL 8.0 事务全面讲解,涵盖了事务的核心概念、操作示例、失败回滚、隔离级别、事务性 DDL 和 XA 事务等内容,并修正了查看隔离级别的命令。 MySQL 8.0 事务全面讲解 一、事务的核心概念(ACID) 事务是…...

宇树科技,改名了!
提到国内具身智能和机器人领域的代表企业,那宇树科技(Unitree)必须名列其榜。 最近,宇树科技的一项新变动消息在业界引发了不少关注和讨论,即: 宇树向其合作伙伴发布了一封公司名称变更函称,因…...
Caliper 负载(Workload)详细解析
Caliper 负载(Workload)详细解析 负载(Workload)是 Caliper 性能测试的核心部分,它定义了测试期间要执行的具体合约调用行为和交易模式。下面我将全面深入地讲解负载的各个方面。 一、负载模块基本结构 一个典型的负载模块(如 workload.js)包含以下基本结构: use strict;/…...