Seaborn 回归(Regression)及矩阵(Matrix)绘图

Seaborn中的回归包括回归拟合曲线图以及回归误差图。
Matrix图主要是热度图。

1. 回归及矩阵绘图API概述

seaborn中“回归”绘图函数共3个:

lmplot(回归统计绘图):figure级regplot函数,绘图同regplot完全相同。(lm指linear model)
+ regplot:axes级函数。绘制线性回归拟合。
+ residplot:axes级函数。绘制线性回归的误差图。(不能用lmplot绘制resid图)

seaborn中矩阵绘图函数共有2个:

  • heatmap:axes级函数。热度图,绘制一个颜色块矩阵。
  • clustermap:figure级函数。聚合热度图,绘制一个分层聚合的热度图。

figure级函数与axes级函数区别见Seaborn系列(一):绘图基础、函数分类、长短数据类型支持

2. 回归统计绘图

2.1 lmplot、regplot绘图

  • sns.lmplot(x=None,y=None,data=None):绘制线性回归拟合图,返回FacetGrid
  • sns.regplot(x=None,y=None,data=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=tips, x="total_bill", y="tip")

regplot1_lmplot

hue、col、row参数与其他函数用法相同

sns.lmplot(data=tips, x="total_bill", y="tip", hue="sex", col="smoker")

regplot2_hue_col

图中拟合直线旁边透明颜色带是回归估计的置信区间,默认置信区间为95%。ci参数可以设置置信区间,ci取None则不绘制置信区间。

sns.lmplot(data=tips, x="total_bill", y="tip", ci=50)

regplot3_ci

sns.lmplot(data=tips, x="total_bill", y="tip", order=3)

regplot3_order

sns.lmplot(data=tips, x="total_bill", y="tip", scatter=False)

regplot3_scatter

x_jitter会随机改变图中散点的x坐标,y_jitter会随机改变图中散点的y坐标。

sns.lmplot(data=tips, x="total_bill", y="tip", y_jitter=10)

regplot4_jitter

sns.lmplot(data=tips, x="total_bill", y="tip", x_estimator=np.mean, x_bins=4)

regplot5_x_estimator_bins

``

robust参数为True时,会降低异常值的权重,在需要剔除异常值时,非常有用。
但是使用robust后,计算量会比较大,通常建议取ci=None加速。
注意robust参数需要安装statsmodels模块。

<span style="color:#333333"><span style="background-color:#f9f5e9"><code>import matplotlib.pyplot as plt
import seaborn as sns
ans = sns.load_dataset("anscombe")
dat = ans.loc[ans.dataset == "III"]sns.lmplot(data=dat, x="x", y="y", robust=True, ci=None)plt.show()
</code></span></span>

2.2 residplot绘图

  • sns.residplot(x=None,y=None,data=None)绘制线性回归拟合图的残差
    • order:回归拟合阶数
    • robust:对异常值降低权重
    • dropna:忽略空值
<span style="color:#333333"><span style="background-color:#f9f5e9"><code>sns.residplot(data=tips, x="total_bill", y="tip")
</code></span></span>

residplot

3. 矩阵图

3.1 heatmap热力图

  • sns.residplot(data):绘制热力图
    • annot:在单元格内显示数据。
    • fmt:设置annot参数数据显示格式。
    • cbar:是否显示颜色条。
    • cmap:设置colormap。
    • square:单元格是否方形。
    • linewidths:设置单元格线条宽度。
    • linecolor:设置单元格线条颜色。
<span style="color:#333333"><span style="background-color:#f9f5e9"><code>import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
data = np.random.rand(10, 10)sns.heatmap(data=data)plt.show()
</code></span></span>

heatmap1

<span style="color:#333333"><span style="background-color:#f9f5e9"><code>sns.heatmap(data=data, annot=True, fmt=".2f")
</code></span></span>

heatmap2_annot

<span style="color:#333333"><span style="background-color:#f9f5e9"><code>sns.heatmap(data=data, cmap="hsv", cbar=False, linewidths=0.5, linecolor="w")
</code></span></span>

heatmap3_style

3.2 clustermap分层聚合热力图

<span style="color:#333333"><span style="background-color:#f9f5e9"><code>import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
data = np.random.rand(10, 10)sns.clustermap(data=data)plt.show()
</code></span></span>

clustermap

clustermap说明详见Python可视化matplotlib&seborn15-聚类热图clustermap(建议收藏) - 知乎

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MATLAB中plotmatrix函数用法

目录 语法 说明 示例 使用两个矩阵输入创建散点图矩阵 使用一个矩阵输入创建散点图矩阵 指定标记类型和颜色 创建并修改散点图矩阵 plotmatrix函数的功能是创建散点图矩阵。 语法 plotmatrix(X,Y) plotmatrix(X) plotmatrix(___,LineSpec) plotmatrix(ax,___) [S,AX,B…

电子学会2023年06月青少年软件编程(图形化)等级考试试卷(一级)真题,含答案解析

青少年软件编程(图形化)等级考试试卷(一级) 一、单选题(共25题,共50分) 1. 看图找规律,请问下图红框中是?( ) A.

在python中os.chdir()的含义以及用法

文章目录 一、os.chdir() 是什么&#xff1f;二、用法注意 一、os.chdir() 是什么&#xff1f; 在Python中&#xff0c;os.chdir() 是 “change directory” 的缩写&#xff0c;意思是改变当前工作目录。这个函数是Python的 os 模块的一部分&#xff0c;允许你更改程序的工作目…

可视化的mysql慢日志平台,帮助数据库管理员(DBA)和开发者更好地管理和监控 MySQL 数据库的慢查询日志

慢日志查询 慢日志查询通常指的是在数据库管理中&#xff0c;用于识别和记录执行时间超过预设阈值的数据库查询操作的功能。这种功能在数据库如MySQL、PostgreSQL、MongoDB等中广泛存在&#xff0c;旨在帮助开发人员和数据库管理员找出可能影响数据库性能的低效查询&#xff0…

LTD.com再度荣获“2023中国产业数字化技术赋能先锋”

2023年11月17日&#xff0c;由托比网主办的“第十届中国产业数字化大会”在江苏南京顺利召开。作为国内产业数字化领域的年度盛会&#xff0c;会议得到了江苏省商务厅、南京市政府的支持&#xff0c;由南京市商务局主办&#xff0c;南京鼓楼区政府提供特别支持。 会议在精彩的议…

【cpolar】Ubuntu本地快速搭建web小游戏网站,公网用户远程访问

&#x1f3a5; 个人主页&#xff1a;深鱼~&#x1f525;收录专栏&#xff1a;cpolar&#x1f304;欢迎 &#x1f44d;点赞✍评论⭐收藏 目录 前言 1. 本地环境服务搭建 2. 局域网测试访问 3. 内网穿透 3.1 ubuntu本地安装cpolar 3.2 创建隧道 3.3 测试公网访问 4. 配置…

IO流-数据流

一&#xff0c;IO流-数据流 二&#xff0c;数据输出流 三&#xff0c;案例 package BigDecimal;import java.io.DataOutputStream; import java.io.FileOutputStream;public class DATaOutputStreamss {public static void main(String[] args) {try ( //1,创建一个数据输出流…

【C++11】多线程库 {thread线程库,mutex互斥锁库,condition_variable条件变量库,atomic原子操作库}

在C11之前&#xff0c;涉及到多线程问题&#xff0c;都是和平台相关的&#xff0c;比如windows和linux下各有自己的接口&#xff0c;这使得代码的可移植性比较差。 //在C98标准下&#xff0c;实现可移植的多线程程序 —— 条件编译 #ifdef _WIN32CreateThread(); //在windows系…

MaxScale读写分离

文章目录 项目背景读写分离读写分离简介环境准备配置虚拟机环境部署主从同步master主机slave主机 MaxScale简介部署MaxScale服务器授权用户master主机操作slave主机操作启动服务 测试读写分离服务 总结 项目背景 之前无论是Wordpress博客项目还是HIS医疗项目&#xff0c;我们都…

SpringBoot-过滤器Filter+JWT令牌实现登录验证

登录校验-Filter 分析 过滤器Filter的快速入门以及使用细节我们已经介绍完了&#xff0c;接下来最后一步&#xff0c;我们需要使用过滤器Filter来完成案例当中的登录校验功能。 我们先来回顾下前面分析过的登录校验的基本流程&#xff1a; 要进入到后台管理系统&#xff0c;我…

wpf devexpress 添加GanttControl到项目

这个教程示范如何添加GanttControl 到你的项目使用内置GanttControl数据类。 要求 添加 Devexpress.Wpf.Gantt Nuget包到你的项目使用GanttControl. 数据模型 GanttControl携带和内置数据对象&#xff0c;可以使用创建视图模型&#xff1a; GanttTask 呈现甘特图任务 Gan…

【Linux】Linux进程间通信(三)

​ ​&#x1f4dd;个人主页&#xff1a;Sherry的成长之路 &#x1f3e0;学习社区&#xff1a;Sherry的成长之路&#xff08;个人社区&#xff09; &#x1f4d6;专栏链接&#xff1a;Linux &#x1f3af;长路漫漫浩浩&#xff0c;万事皆有期待 上一篇博客&#xff1a;【Linux】…