【小睿的ML之路】Seaborn-回归分析绘图
%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'>