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

news2024/12/23 9:06:32

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.coloradmin.cn/o/1221997.html

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

相关文章

学习笔记6——垃圾回收

学习笔记系列开头惯例发布一些寻亲消息 链接&#xff1a;https://baobeihuijia.com/bbhj/contents/3/190801.html java垃圾回收&#xff08;stop the world&#xff09; 专注于堆和方法区的垃圾回收&#xff0c;年轻代&#xff0c;老年代&#xff0c;永久代判断对象是否还存…

Audio PA 功能失败导致Android (A12)重启

1. 问题现象 做完一版os准备导入工厂生产&#xff0c;简称之位Ros&#xff08;release&#xff09;&#xff0c;工厂有独立的用于验证其功能的os&#xff0c;简称Fos。出厂之前&#xff0c;需要做Fos到Ros的切换。然而&#xff0c;在切到Ros的时候&#xff0c;发现有低概率的设…

linux 服务器进程、端口查找,nginx 配置日志查找,lsof 命令详解

一 、根据端口号 查看文件的部署位置 1.1 使用查看端口号对应的进程信息 方式一 &#xff1a; 使用netstat命令 netstat -tuln | grep 端口号-t&#xff1a;显示TCP连接 -u&#xff1a;显示UDP连接 -l&#xff1a;仅显示监听状态的连接 -n&#xff1a;以数字形式显示端口…

Vellum —— Constraint 约束

目录 Stretch Bend Pin Drag 解算器对DOP外节点的约束属性&#xff0c;只会读取起始帧的值&#xff1b; Stretch 保持点间的初始距离&#xff1b; Stiffness 越高的stiffness&#xff0c;就需要越多的迭代来收敛&#xff0c;如constraint iterations或substeps(子步会更好)…

IC设计企业,如何安全、可控、高效的传输设计文档和研发数据?

近年来&#xff0c;半导体的应用领域不断拓展&#xff0c;在全球经济和社会发展中的重要性与日俱增&#xff0c;半导体芯片是数字经济的核心&#xff0c;承载着现代产业发展&#xff0c;具有举足轻重的价值。从半导体行业的角度&#xff0c;IC设计是关键的一环&#xff0c;我国…

(C++)string类及其函数

愿所有美好如期而遇 标准库中的string类 string是对类模板实例化出的类型的重命名&#xff0c;也就是说string就是basic_string<char>这个类型。 string是表示字符串的字符串类 该类接口与常规类的接口基本相同&#xff0c;再添加了一些专门用来操作string的常规操作。…

2023年中职“网络安全“—Linux系统渗透提权③

2023年中职"网络安全"—Linux系统渗透提权③ Linux系统渗透提权任务环境说明&#xff1a;1. 使用渗透机对服务器信息收集&#xff0c;并将服务器中SSH服务端口号作为flag提交&#xff1b;2. 使用渗透机对服务器信息收集&#xff0c;并将服务器中主机名称作为flag提交…

腾讯云重新注册算不算新用户?算!

腾讯云重新注册算新用户&#xff0c;但有以下限制&#xff1a; 首先&#xff0c;实名认证信息不能沿用老账号的信息&#xff0c;必须使用新的信息进行认证。这是为了确保重新注册的账号能够被视为新用户&#xff0c;并享受到新用户的特权和优惠。 腾讯云双十一领9999代金券 h…

Spring Boot 中使用 ResourceLoader 加载资源的完整示例

ResourceLoader 是 Spring 框架中用于加载资源的接口。它定义了一系列用于获取资源的方法&#xff0c;可以处理各种资源&#xff0c;包括类路径资源、文件系统资源、URL 资源等。 以下是 ResourceLoader 接口的主要方法&#xff1a; Resource getResource(String location)&am…

一个iOS tableView 滚动标题联动效果的实现

效果图 情景 tableview 是从屏幕顶部开始的&#xff0c;现在有导航栏&#xff0c;和栏目标题视图将tableView的顶部覆盖了 分析 我们为了达到滚动到某个分区选中标题的效果&#xff0c;就得知道 展示最顶部的cell或者区头在哪个分区范围内 所以我们必须首先获取顶部的位置 …

23111706[含文档+PPT+源码等]计算机毕业设计SSM框架网上书城全套微信支付电商购物

文章目录 **软件开发环境及开发工具&#xff1a;****项目功能介绍&#xff1a;****论文截图&#xff1a;****实现&#xff1a;****代码片段&#xff1a;** 编程技术交流、源码分享、模板分享、网课教程 &#x1f427;裙&#xff1a;776871563 软件开发环境及开发工具&#xff…

深入了解百度爬虫工作原理

在当今数字化时代&#xff0c;互联网已经成为人们获取信息的主要渠道之一。而搜索引擎作为互联网上最重要的工具之一&#xff0c;扮演着连接用户与海量信息的桥梁角色。然而&#xff0c;我们是否曾经好奇过当我们在搜索引擎中输入关键词并点击搜索按钮后&#xff0c;究竟是如何…

(七)什么是Vite——vite优劣势、命令

vite分享ppt&#xff0c;感兴趣的可以下载&#xff1a; ​​​​​​​Vite分享、原理介绍ppt 什么是vite系列目录&#xff1a; &#xff08;一&#xff09;什么是Vite——vite介绍与使用-CSDN博客 &#xff08;二&#xff09;什么是Vite——Vite 和 Webpack 区别&#xff0…

hive sql 取当周周一 str_to_date(DATE_FORMAT(biz_date, ‘%Y%v‘), ‘%Y%v‘)

select str_to_date(DATE_FORMAT(biz_date, %Y%v), %Y%v)方法拆解 select DATE_FORMAT(now(), %Y%v), str_to_date(202346, %Y%v)

IDEA 集成 Docker 插件一键部署 SpringBoot 应用

目录 前言IDEA 安装 Docker 插件配置 Docker 远程服务器编写 DockerFileSpringBoot 项目部署配置SpringBoot 项目部署结语 前言 随着容器化技术的崛起&#xff0c;Docker成为了现代软件开发的关键工具。在Java开发中&#xff0c;Spring Boot是一款备受青睐的框架&#xff0c;然…

Hessian协议详解

前言 Hessian协议是一种基于二进制的轻量级远程调用协议&#xff0c;用于在分布式系统中进行跨语言的通信。它使用简单的二进制格式来序列化和反序列化数据&#xff0c;并支持多种编程语言&#xff0c;如Java、C#、Python等。Hessian协议相对于其他协议的优势在于其简单性和高…

MPN – 制造零件号

S/4 1610 中的 MPN – 基于 NAST 的输出管理 我试图查找有关 MPN 设置的信息&#xff0c;但找不到详细的配置步骤。在浏览了一些信息和 help.sap 链接后&#xff0c;我能够在 S/4 1610 系统中配置 MPN 设置&#xff0c;这与使用旧输出类型&#xff08;Nast 和输出类型 NEU&…

初学Redis(Redis的启动以及字符串String)

首先使用在Windows PowerShell中输入指令来启动Redis&#xff1a; redis-server.exe 然后通过指令连接Redis&#xff1a; redis-cli 上图的127.0.0.1是计算机的回送地址 &#xff0c;6379是默认端口 上述代码中创建了两个键&#xff0c;注意Redis中严格区分大小写&#xff0…

C语言入门这一篇就够了(进阶篇)

C语言入门这一篇就够了&#xff08;入门篇1&#xff09; C语言入门这一篇就够了&#xff08;入门篇2&#xff09; 上两篇讲了C语言的基本知识和基本语法&#xff0c;接下来讲C语言结构和实战项目 C语言的函数调用 在C语言中&#xff0c;函数是一种可重用的代码块&#xff0c;它…

LrC ACR :优化的 AI 天空蒙版

在 Lightroom Classic 和 Adobe Camera Raw 中创建基于 AI 技术的天空蒙版时&#xff0c;可能由于底层算法的原因&#xff0c;选中的天空蒙版在边缘处有晕开的现象&#xff08;又称为“出血” Bleed&#xff09;&#xff0c;从而导致天空蒙版不是很精准。 本文提供了一种特殊方…