PYTHON数据可视化(四)seaborn

本文详细探讨了seaborn库在Python数据可视化中的应用,特别是如何利用seaborn进行线性关系的可视化,包括绘制线性回归模型、拟合不同模型、考虑其他变量时的分析,以及如何控制图像的形状与大小。seaborn提供了regplot和lmplot等函数,用于在探索性数据分析中快速评估变量间的线性关系,并支持在不同背景下的回归线绘制。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

线性关系可视化

许多数据集都有着众多连续变量。数据分析的目的经常就是衡量变量之间的关系,我们之前介绍了可以绘制双变量分布的函数。然而,使用统计模型来估计两个噪声观测组之间的简单关系可能是非常有帮助的。我们在这一章中讨论的函数功能将在线性回归的框架实现。
请注意,seaborn并不是一个统计分析库,这里所做的回归仅仅是粗略的。其目的是在探索性数据分析时,提供快捷的可视化工具,便于人们了解变量间可能存在的关系。(statsmodels)

%matplotlib inline

import numpy as np
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt

import seaborn as sns
sns.set(color_codes=True)

np.random.seed(sum(map(ord, "regression")))

tips = sns.load_dataset("tips")

绘制线性回归模型

regplot()lmplot()都可以绘制线性回归曲线。这两个函数非常相似,甚至共有一些核心功能。我将着力讲解二者的区别,这会帮助你选用恰当的工具。
在最简单的调用中,两个函数都会画出双变量的散点图,然后以y~x拟合回归方程和预测值95%置信区间并将其画出。

sns.regplot(x="total_bill", y="tip", data=tips);

这里写图片描述

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

这里写图片描述
你应该已经注意到两幅图只有尺寸上的区别。我们在这里只进行简短的解释。目前为止两者间主要的区别是,regplot接受各种格式的x y,包括numpy arrays ,pandas series 或者pandas Dataframe对象。相比之下,lmplot()只接受字符串对象。这种数据格式被称为’long-form’或者’tidy’。除了输入数据的便利性外,regplot()可以看做拥有lmplot()特征的一个子集,所以接来下我们将用lmplot()进行演示。

实际上官方手册这里解释的并不直观。两者区别在于sns.regplot(x=tips[‘total_bill’], y=tips[‘tip’])可以运行,data=~这个参数不必要。但是sns.lmplot(x=tips[‘total_bill’], y=tips[‘tip’], data=tips)就必须传入data=~参数

当一个数据为离散值时,也可以生成一个回归曲线,但是这种散点图往往不是最优的。

sns.lmplot(x="size", y="tip", data=tips);

233

我们可以通过给离散变量添加随机噪声(“jitter”)的方式使得这些值的分布更加清晰。注意!这些噪声只是改变了散点图,并不影响回归曲线。

sns.lmplot(x="size", y="tip", 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值