Python 数据可视化:数据分布统计图和热图

Python 数据可视化:数据分布统计图和热图,第1张

本课将继续介绍 Seaborn 中的统计图。一定要牢记,Seaborn 是对 Matplotlib 的高级封装,它优化了很多古老的做图过程,因此才会看到一个函数解决问题的局面。

在统计学中,研究数据的分布情况,也是一个重要的工作,比如某些数据是否为正态分布——某些机器学习模型很在意数据的分布情况。

在 Matplotlib 中,可以通过绘制直方图将数据的分布情况可视化。在 Seaborn 中,也提供了绘制直方图的函数。

输出结果:

sns.distplot 函数即实现了直方图,还顺带把曲线画出来了——曲线其实代表了 KDE。

除了 sns.distplot 之外,在 Seaborn 中还有另外一个常用的绘制数据分布的函数 sns.kdeplot,它们的使用方法类似。

首先看这样一个示例。

输出结果:

① 的作用是设置所得图示的背景颜色,这样做的目的是让下面的 ② 绘制的图像显示更清晰,如果不设置 ①,在显示的图示中看到的就是白底图像,有的部分看不出来。

② 最终得到的是坐标网格,而且在图中分为三部分,如下图所示。

相对于以往的坐标网格,多出了 B 和 C 两个部分。也就是说,不仅可以在 A 部分绘制某种统计图,在 B 和 C 部分也可以绘制。

继续 *** 作:

输出结果:

语句 ③ 实现了在坐标网格中绘制统计图的效果,jp.plot 方法以两个绘图函数为参数,分别在 A 部分绘制了回归统计图,在 B 和 C 部分绘制了直方图,而且直方图分别表示了对应坐标轴数据的分布,即:

我们把有语句 ② 和 ③ 共同实现的统计图,称为联合统计图。除了用 ② ③ 两句可以绘制这种图之外,还有一个函数也能够“两步并作一步”,具体如下:

输出结果:

seaborn 常用 基于matplotlib, 解决分组问题。【横轴,纵轴,数据集】

往往画的聚合指标图像

barplot() 条形图

scatterplot() 散点图

swarmplot()

sns.violinplot() 琴图

sns.countplot() 统计条形图

sns.pairplot() 成对图像

sns.heatmap() 热力图 用颜色深浅表达大小

sns.boxplot() 箱线图

sns.displot()直方图

数据: tips = sns.load_dataset('tips')

tips.groupby('sex')['total_bill'].mean()

sns.boxplot(x='sex',y='total_bill',data=tips) 横轴,纵轴,数据。

sns.distplot(tips.total_bill)

连续 VS 连续

离散 VS 连续

sns的hue参数:分组因子 hue_order:分组的顺序

例:股票随着时间的变化

人随着每次考试的分数的变化

比较大小

例:在某一时期内两个同学的成绩谁高谁低。(通过高矮或宽窄表示大小)

组与组数据比较大小

算出来的,均值加减标准差得到置信区间。

两个维度表达对应关系(映射关系,函数关系)

例:经纬度

所有样本点自变量和因变量的关系

增加1个维度,气泡的大小,成为气泡图。

描述数据分布。(可看数据异常)

例:看一组数据是否符合正态分布

原理:数据按大小划分几个区域,在哪个区域加1。 分高度和宽度:宽度:数据区域,高度:落在区域里数据个数。(转换成概率称为kde图像)

IQR = Q3- Q1

upper = Q3 + 1.5IQR

bottom = Q1 + 1.5*IQR

sns.boxplot()

描述两组数据关系

注:卡方验证主要是离散数据和离散数据之间的关系

corr()关系函数,默认person系数。

矩阵的值对应两个值的关系。

极浅的点和及深的点需要注意。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11616631.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存