Seaborn系列目录
文章目录
- 1. 回归及矩阵绘图API概述
- 2. 回归统计绘图
-
- 2.1 lmplot、regplot绘图
- 2.2 residplot绘图
- 3. 矩阵图
-
- 3.1 heatmap热力图
- 3.2 clustermap分层聚合热力图
Seaborn中的回归包括回归拟合曲线图以及回归误差图。1. 回归及矩阵绘图API概述 seaborn中“回归”绘图函数共3个:
Matrix图主要是热度图。
lmplot(回归统计绘图):figure级regplot函数,绘图同regplot完全相同。(lm指linear model)
+ regplot:axes级函数。绘制线性回归拟合。
+ residplot:axes级函数。绘制线性回归的误差图。(不能用lmplot绘制resid图)
seaborn中矩阵绘图函数共有2个:
- heatmap:axes级函数。热度图,绘制一个颜色块矩阵。
- clustermap:figure级函数。聚合热度图,绘制一个分层聚合的热度图。
2. 回归统计绘图 2.1 lmplot、regplot绘图
sns.lmplot(x=None,y=None,data=https://www.it610.com/article/None)
:绘制线性回归拟合图,返回FacetGridsns.regplot(x=None,y=None,data=https://www.it610.com/article/None)
绘制线性回归拟合图,返回Axes- hue:分系列用不同的颜色绘制
- col,row:指定参数不同值绘制到不同的行或列。
- ci=95:置信区间的大小,取值0-100
- order:指定拟合多项式阶数
- scatter:是否绘制散点图
- x_jitter,y_jitter:为x变量或y变量添加随机噪点。会导致绘制的散点移动,不会改变原始数据。
- x_estimator:参数值为函数,如np.mean。对每个x值的所有y值用函数计算,绘制得到的点,并绘制误差线。
- x_bins:当x不是离散值时x_estimator可以配合x_bins指定计算点和误差线数量
- robust:对异常值降低权重
- logistic:logistic=True时,假设y取值只有2个比如True和False,并用statsmodels中的逻辑回归模型回归。
sns.lmplot(data=https://www.it610.com/article/tips, x="total_bill", y="tip")
文章图片
hue、col、row参数与其他函数用法相同
sns.lmplot(data=https://www.it610.com/article/tips, x="total_bill", y="tip", hue="sex", col="smoker")
文章图片
图中拟合直线旁边透明颜色带是回归估计的置信区间,默认置信区间为95%。ci参数可以设置置信区间,ci取None则不绘制置信区间。
sns.lmplot(data=https://www.it610.com/article/tips, x="total_bill", y="tip", ci=50)
文章图片
sns.lmplot(data=https://www.it610.com/article/tips, x="total_bill", y="tip", order=3)
文章图片
sns.lmplot(data=https://www.it610.com/article/tips, x="total_bill", y="tip", scatter=False)
文章图片
x_jitter会随机改变图中散点的x坐标,y_jitter会随机改变图中散点的y坐标。
sns.lmplot(data=https://www.it610.com/article/tips, x="total_bill", y="tip", y_jitter=10)
文章图片
sns.lmplot(data=https://www.it610.com/article/tips, x="total_bill", y="tip", x_estimator=np.mean, x_bins=4)
文章图片
``
robust参数为True时,会降低异常值的权重,在需要剔除异常值时,非常有用。
但是使用robust后,计算量会比较大,通常建议取ci=None加速。
注意robust参数需要安装statsmodels模块。
import matplotlib.pyplot as plt
import seaborn as sns
ans = sns.load_dataset("anscombe")
dat = ans.loc[ans.dataset == "III"]sns.lmplot(data=https://www.it610.com/article/dat, x="x", y="y", robust=True, ci=None)plt.show()
文章图片
2.2 residplot绘图
sns.residplot(x=None,y=None,data=https://www.it610.com/article/None)
绘制线性回归拟合图的残差- order:回归拟合阶数
- robust:对异常值降低权重
- dropna:忽略空值
sns.residplot(data=https://www.it610.com/article/tips, x="total_bill", y="tip")
文章图片
3. 矩阵图 3.1 heatmap热力图
sns.residplot(data)
:绘制热力图- annot:在单元格内显示数据。
- fmt:设置annot参数数据显示格式。
- cbar:是否显示颜色条。
- cmap:设置colormap。
- square:单元格是否方形。
- linewidths:设置单元格线条宽度。
- linecolor:设置单元格线条颜色。
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
data = https://www.it610.com/article/np.random.rand(10, 10)sns.heatmap(data=data)plt.show()
文章图片
sns.heatmap(data=https://www.it610.com/article/data, annot=True, fmt=".2f")
文章图片
sns.heatmap(data=https://www.it610.com/article/data, cmap="hsv", cbar=False, linewidths=0.5, linecolor="w")
文章图片
3.2 clustermap分层聚合热力图
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
data = https://www.it610.com/article/np.random.rand(10, 10)sns.clustermap(data=data)plt.show()
文章图片
clustermap说明详见https://zhuanlan.zhihu.com/p/165940283
Seaborn系列目录
个人总结,部分内容进行了简单的处理和归纳,如有谬误,希望大家指出,持续修订更新中。
修订历史版本见:https://github.com/hustlei/AI_Learning_MindMap
【Python科学计算和数据分析|Seaborn系列(五)(回归(Regression)及矩阵(Matrix)绘图)】未经允许请勿转载。
推荐阅读
- 10行代码实现一个值班提醒应用
- 用Markdown写邮件,用Python发邮件
- ffmpeg|bilibili缓存视频批量转换成mp4格式,方便学习
- Python|每天弄个小爬取之Python爬取批量爬取B站小视频!
- python|python 神经网络工具_python神经网络工具箱
- java|我们一起学一学渗透测试——基础概念
- python|【十年网络安全工程师整理】—100渗透测试工具使用方法介绍
- python|6个常用的Python编程开发工具
- 测试|Selenium报错: Message: stale element reference: element