【Seaborn-驯化】一文学会seaborn中的多变量关系图:Pairplot
本次修炼方法请往下查看
🌈 欢迎莅临我的个人主页 👈这里是我工作、学习、实践 IT领域、真诚分享 踩坑集合,智慧小天地!
🎇 免费获取相关内容文档关注:微信公众号,发送 pandas 即可获取
🎇 相关内容视频讲解 B站
🎓 博主简介:AI算法驯化师,混迹多个大厂搜索、推荐、广告、数据分析、数据挖掘岗位 个人申请专利40+,熟练掌握机器、深度学习等各类应用算法原理和项目实战经验。
🔧 技术专长: 在机器学习、搜索、广告、推荐、CV、NLP、多模态、数据分析等算法相关领域有丰富的项目实战经验。已累计为求职、科研、学习等需求提供近千次有偿|无偿定制化服务,助力多位小伙伴在学习、求职、工作上少走弯路、提高效率,近一年好评率100% 。
📝 博客风采: 积极分享关于机器学习、深度学习、数据分析、NLP、PyTorch、Python、Linux、工作、项目总结相关的实用内容。
下滑查看解决方法
🎯 1. 基本介绍
pairplot 是 Seaborn 库中的一个多功能图表,用于绘制数据集中所有可能的成对关系。它生成一个网格图,每个单元格显示一个变量对的分布图,如散点图、直方图或 KDE 曲线,非常适合于初步的数据探索和可视化。
这里又说一遍散点图,是为了和前面的因子变量散点图相区分,前面的因子变量散点图,讲的是不同因子水平的值绘制的散点图,而这里是两个数值变量值散点图关系。为什么要用lmplot呢,说白了就是,先将这些散点画出来,然后在根据散点的分布情况拟合出一条直线。但是用lmplot总觉得不好,没有用scatter来得合适。
💡 2. 原理介绍
pairplot 通常不涉及复杂的数学公式推导,它主要用于数据可视化。然而,它依赖于以下几种图形和统计概念:
- 散点图:用于展示两个连续变量之间的关系。
直方图:用于展示一个变量的分布。
核密度估计(KDE):用于平滑地展示数据的概率密度函数。
🔍 3. 画图实践
3.1 数据准备
我们通过seaborn自带的数据对其进行相关的画图,具体的导入数据代码如下所示:
import seaborn as sns
sns.set(style="ticks", color_codes=True)
iris = sns.load_dataset("iris")
sepal_length sepal_width petal_length petal_width species
0 5.1 3.5 1.4 0.2 setosa
1 4.9 3.0 1.4 0.2 setosa
2 4.7 3.2 1.3 0.2 setosa
3 4.6 3.1 1.5 0.2 setosa
4 5.0 3.6 1.4 0.2 setosa
... ... ... ... ... ...
145 6.7 3.0 5.2 2.3 virginica
146 6.3 2.5 5.0 1.9 virginica
147 6.5 3.0 5.2 2.0 virginica
148 6.2 3.4 5.4 2.3 virginica
149 5.9 3.0 5.1 1.8 virginica
3.2 画图实践
我们展示上述数据中各个变量之间的关系,具体的代码如下所示:
g = sns.pairplot(iris)
我们分组展示,具体的代码如下所示:
# 分组的变量关系图,似乎很厉害啊
g = sns.pairplot(iris, hue="species")
🔍 4. 注意事项
- pairplot 默认使用散点图来展示连续变量之间的关系,使用直方图来展示变量的分布。
- hue 参数可以用来根据分类变量对数据进行分组,并为每个组分配不同的颜色。
- diag_kind 参数可以控制对角线上的图表类型,如 ‘auto’、‘hist’ 或 ‘kde’。
- markers 参数可以控制散点图中的标记类型,用于不同的数据点形状。
🔍 5. 总结
Seaborn 的 pairplot 是一个强大的数据探索工具,它通过矩阵图的形式,快速展示数据集中所有变量对的关系。通过本博客的代码示例,我们学习了如何使用 pairplot 进行数据可视化,并分析了不同变量之间的关系。希望这篇博客能够帮助你更好地利用 pairplot 进行数据探索和分析。