Seaborn图表使用指南!

news2024/11/23 18:31:31

目录

  1. 介绍
  2. 线图
  3. 散点图
  4. 直方图
  5. 概率密度函数 (PDF)
  6. 箱线图
  7. 小提琴剧情
  8. 配对图
  9. 热图
  10. 关节图
  11. 地毯图

一、介绍

        数据科学已成为一个突出的领域,近年来呈爆炸性增长。对精通从数据中获取见解并应用这些见解来解决现实世界问题的数据科学家的需求从未增加。使用图形、图表和其他表示形式可视化数据是一种从此信息中获取见解的技术。

        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 个值

数据集的前 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')

两个变量的地毯图(来源:作者)

十三、结论

对于单变量分析,我们可以使用

  • 线图
  • 箱线图
  • 小提琴剧情
  • 概率密度函数
  • 直方图
  • 联合情节
  • 地毯图

对于双变量分析,我们可以使用

  • 配对图
  • 散布图
  • 联合情节
  • 热图
  • 地毯图

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

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

相关文章

centos 7.x 单用户模式

最近碰到 centos 7.9 一些参数设置错误无法启动系统的情况,研究后可以使用单用户模式进入系统进行恢复操作。 进入启动界面,按 e ro 替换为 rw init/sysroot/bin/sh 替换前 替换后 Ctrl-x 进行重启进入单用户模式 执行 chroot /sysroot 可以查看日…

数据库操作不再困难,MyBatis动态Sql标签解析

系列文章目录 MyBatis缓存原理 Mybatis的CachingExecutor与二级缓存 Mybatis plugin 的使用及原理 MyBatis四大组件Executor、StatementHandler、ParameterHandler、ResultSetHandler 详解 MyBatisSpringboot 启动到SQL执行全流程 数据库操作不再困难,MyBatis动态S…

一个软件测试面试相关的面试题目,你们会做吗?

有这样一个面试题&#xff1a;在一个Web测试页面上&#xff0c;有一个输入框&#xff0c;一个计数器&#xff08;count&#xff09;按钮&#xff0c;用于计算一个文本字符串中字母a出现的个数。请设计一系列测试用例用以测试这个Web页面。 <ignore_js_op> 有经验的测试人…

WS2812B RGB灯带使用

&#x1f4a5;&#x1f4a5;&#x1f49e;&#x1f49e;欢迎来到本博客❤️❤️&#x1f4a5;&#x1f4a5; 本人持续分享更多关于电子通信专业内容以及嵌入式和单片机的知识&#xff0c;如果大家喜欢&#xff0c;别忘点个赞加个关注哦&#xff0c;让我们一起共同进步~ &#x…

嵌入式linux开发工具——vscode

目录 一、工具下载及安装 下载 安装 二、工具配置 在嵌入式开发中常用的工具就两个source和vscode&#xff0c;个有利弊。之前讲过source今天来讲一下vscode。 一、工具下载及安装 下载 https://code.visualstudio.com 选择需要的版本就行 x86是32位架构&#xff0c;x64…

笔记系统项目测试

一、测试用例 1.1功能测试 1.2性能测试 1.3界面测试 1.4兼容性测试 1.5易用性测试 1.6安全性测试 二、自动化测试 那就对上面的部分用例进行自动化测试 Selenium3 Junit5 2.1注册页面自动化测试 /*** 针对两次输入密码不一致进行验证* param username* param password* pa…

无涯教程-Perl - readline函数

描述 此函数从EXPR引用的文件句柄中读取一行,并返回输出。如果要直接使用FILEHANDLE,则必须将其作为typeglob传递。 Simply readline function is equvivalent to <>. 语法 以下是此函数的简单语法- readline EXPR返回值 此函数在标量context中仅返回一行,而在列表…

预测知识 | 机器学习预测模型局限性

预测知识 | 机器学习预测模型局限性 目录 预测知识 | 机器学习预测模型局限性问题描述未来发展参考资料 问题描述 数据基础设施&#xff1a;要构建模型&#xff0c;必须有数据&#xff0c;且有多来源的大数据。这一切都离不开数据基础设施的建设和发展。 错误数据输入&#xf…

「Web3大厂」价值70亿美元的核心竞争力

经过近 5 年的研发和酝酿&#xff0c;Linea 团队在 7 月的巴黎 ETHCC 大会期间宣布了主网 Alpha 的上线&#xff0c;引起了社区的广泛关注。截止 8 月 4 日&#xff0c;据 Dune 数据信息显示&#xff0c;其主网在一周内就涌入了 100 多个生态项目&#xff0c;跨入了超 2 万枚 E…

RabbitMQ基础(2)——发布订阅/fanout模式 topic模式 rabbitmq回调确认 延迟队列(死信)设计

目录 引出点对点(simple)Work queues 一对多发布订阅/fanout模式以登陆验证码为例pom文件导包application.yml文件rabbitmq的配置生产者生成验证码&#xff0c;发送给交换机消费者消费验证码 topic模式配置类增加配置生产者发送信息进行发送控制台查看 rabbitmq回调确认配置类验…

BGP的工作过程及报文

IGP核心:路由的计算。OSPF,ISIS等 BGP核心:路由的传递,不产生路由,只是路由的搬运工,一般用于规模特别大的网络中,只要TCP可达就可以建立邻居。 大型企业分支间采用BGP进行路由传递,不同的分支属于不同的BGP的AS,它们通过BGP进行路由交互。企业与运营商之间可使用BGP进行…

编写一个函数实现n的k次方,使用递归实现

在这个问题中&#xff0c;我们要考虑k的取值正负。 代码实现&#xff1a; #include <stdio.h> double Pow(int n, int k) {if (k > 0)return n * Pow(n, k - 1);else if (k 0)return 1;elsereturn 1.0 / Pow(n, -k); }int main() {int n 0;int k 0;scanf("%d…

期权定价模型系列【4】—期权组合的Delta-Gamma-Vega中性

期权组合的Delta-Gamma-Vega中性 期权组合构建时往往会进行delta中性对冲&#xff0c;在进行中性对冲后&#xff0c;期权组合的delta敞口为0&#xff0c;此时期权组合仍然存在gamma与vega敞口。因此研究期权组合的delta-gamma-vega敞口中性是有必要的。 本文旨在对delta-gamma-…

面向未来的颠覆性技术创新

本篇文章是博主在人工智能等领域学习时&#xff0c;用于个人学习、研究或者欣赏使用&#xff0c;并基于博主对人工智能等领域的一些理解而记录的学习摘录和笔记&#xff0c;若有不当和侵权之处&#xff0c;指出后将会立即改正&#xff0c;还望谅解。文章分类在学习摘录和笔记专…

Leetcode 剑指 Offer II 039. 直方图最大矩形面积

题目难度: 困难 原题链接 今天继续更新 Leetcode 的剑指 Offer&#xff08;专项突击版&#xff09;系列, 大家在公众号 算法精选 里回复 剑指offer2 就能看到该系列当前连载的所有文章了, 记得关注哦~ 题目描述 给定非负整数数组 heights &#xff0c;数组中的数字用来表示柱状…

大脑营行|“福安市华龙教育基金”支持家乡教育事业发展

8月8日&#xff0c;福安市松罗中学举行“福安市华龙教育基金”中考奖学金颁发仪式。福安市松罗乡党委书记钟文、乡长郑仁寿、福安市人民政府教育督导室副科级督导员&#xff08;片区领导&#xff09;陈秦、校长张明亮、各村支部书记、家长代表、受奖学生&#xff0c;校领导班子…

LabVIEW使用图像处理进行交通控制性能分析

LabVIEW使用图像处理进行交通控制性能分析 采用普雷维特、拉普拉斯、索贝尔和任意的空间域方法对存储的图像进行边缘检测&#xff0c;并获取实时图像。然而&#xff0c;对四种不同空间域边缘检测方法的核的性能分析。 以前&#xff0c;空路图像存储在数据库中&#xff0c;道路…

C语言实例_调用SQLITE数据库完成数据增删改查

一、SQLite介绍 SQLite是一种轻量级的关系型数据库管理系统&#xff08;RDBMS&#xff09;&#xff0c;它是一个开源的、零配置的、服务器端的、自包含的、零管理的、事务性的SQL数据库引擎。它被广泛应用于嵌入式设备、移动设备和桌面应用程序等领域。 SQLite的特点包括&…

使用wxPython和PyMuPDF在Python中显示PDF目录的实现

展示如何使用wxPython和PyMuPDF库在Python中选择PDF文件并将目录显示在列表框中。 简介&#xff1a; 在本篇教程中&#xff0c;我们将学习如何使用wxPython和PyMuPDF库在Python中选择PDF文件&#xff0c;并将其目录显示在一个列表框中。这将使用户能够方便地浏览PDF文档的目录…

每天一道leetcode:72. 编辑距离(动态规划困难)

今日份题目&#xff1a; 给你两个单词 word1 和 word2&#xff0c; 请返回将 word1 转换成 word2 所使用的最少操作数 。 你可以对一个单词进行如下三种操作&#xff1a; 插入一个字符 删除一个字符 替换一个字符 示例1 输入&#xff1a;word1 "horse", word…