【小睿的ML之路】Seaborn-回归分析绘图

发布时间 2023-09-21 22:38:51作者: 郭小睿
%matplotlib inline # 这是一个魔术命令,用于在 Jupyter Notebook 中显示 matplotlib 生成的图形。

import seaborn as sns # 导入 seaborn 库,用于绘制统计图形。
import numpy as np # 导入 numpy 库,用于处理数值计算。
import pandas as pd # 导入 pandas 库,用于处理数据。
import matplotlib as mpl # 导入 matplotlib 库,用于绘图。
import matplotlib.pyplot as plt # 导入 matplotlib 库中的 pyplot 模块,用于绘图。

sns.set(color_codes=True) # 设置 seaborn 的颜色风格,color_codes=True 表示使用颜色代码。

np.random.seed(sum(map(ord,"regression"))) # 设置随机数种子,保证随机数的可重现性。

tips = sns.load_dataset("tips") # 使用 seaborn 的 load_dataset 函数加载内置的 "tips" 数据集。

tips.head()
total_bill tip sex smoker day time size
0 16.99 1.01 Female No Sun Dinner 2
1 10.34 1.66 Male No Sun Dinner 3
2 21.01 3.50 Male No Sun Dinner 3
3 23.68 3.31 Male No Sun Dinner 2
4 24.59 3.61 Female No Sun Dinner 4

regplot() 和 lmplot() 都可以绘制回归关系,推荐regplot()

这段代码使用 Seaborn 库的 regplot 函数绘制了 total_bill 和 tip 之间的散点图,并拟合了回归线。

具体解释如下:

  • sns.regplot(x="total_bill", y="tip", data=tips):调用 Seaborn 库的 regplot 函数绘制散点图并拟合回归线。参数 x 指定 x 轴数据,这里是 "total_bill",参数 y 指定 y 轴数据,这里是 "tip",参数 data 是所使用的数据集,这里是 "tips" 数据集。

这段代码绘制了 "total_bill" 和 "tip" 之间的散点图,并拟合了回归线,以显示二者之间的线性关系。

sns.regplot(x="total_bill",y="tip",data=tips)
<Axes: xlabel='total_bill', ylabel='tip'>

sns.regplot(x="size",y="tip",data=tips)
<Axes: xlabel='size', ylabel='tip'>

# 参数 x_jitter 控制 x 轴方向的抖动程度,这里设置为 0.05。
sns.regplot(x="size",y="tip",data=tips,x_jitter=.05)
<Axes: xlabel='size', ylabel='tip'>