如何使用 Python 中的 Seaborn 添加每组回归线?
Seaborn 提供的最有用的工具之一是能够向散点图添加回归线。回归线有助于分析两个变量之间的关系并识别数据中的趋势。
在本文中,我们将学习如何使用 Python 中的 Seaborn 添加每组回归线。Seaborn 有多种方法可以绘制两个数字之间的散点图。例如,要制作我们需要的图,我们可以使用 lmplot() 函数。
Seaborn
Seaborn 是一个用于根据统计数据制作图表的 Python 库。它建立在 matplotlib 之上,可以有效地与 Pandas 的数据结构配合使用。Seaborn 可以帮助您查看数据并弄清楚它的含义。它的绘图函数适用于包含整个数据集的数组和数据框,并执行统计聚合和语义映射,以制作有用的绘图。
它的声明性 API 基于数据集,因此您可以专注于绘图的不同部分的含义,而不是如何绘制它们。Seaborn 致力于将可视化数据作为查看和理解数据的主要方法。它为我们提供了专注于数据集的 API,因此我们可以在查看相同变量的不同方式之间切换,以更好地理解数据集。
回归线
回归线是一条显示一组数据如何随时间变化的线。换句话说,它显示了给定数据的最佳趋势。
回归线在进行预测时很有用。其目的是解释因变量(y 变量)与一个或多个自变量(x 变量)之间的关系。
如果我们将独立变量的不同值放入从回归线得到的方程中,我们就可以预测因变量将来的表现。这种类型的线主要用于散点图。
散点图
散点图用于按重要性对项目进行分组,这可以帮助您在图形中更好地理解它们。它们可以制作二维图形,可以通过映射最多三个变量来改进,同时使用色调、大小和样式参数的含义。所有参数都控制用于区分不同子集的视觉和语义信息。它有助于使用冗余语义使图形更易于理解。
散点图和回归线
散点图将一个变量的值与另一个变量的值进行比较。观察模式或点之间的距离有助于我们弄清楚这两个变量之间的关系。另一方面,回归线只会在它们似乎有很强的联系时才连接正在研究的变量。散点图可以让您了解这种关系,但为了确保万无一失,我们也可以进行假设检验。散点图和回归线可用于找出 (x,y) 对中是否有任何异常值,在 x 的特定值处预测 y,以及在 x 的特定值处估计平均 y。
它没有告诉我们 x 和 y 是如何相互关联的。x 和 y 之间的潜在关系可能是也可能不是因果关系,相关性并不意味着存在因果关系。
使用 Seaborn 为每个组添加回归线
Seaborn 有多种方法可以制作两个数字之间的散点图。我们可以使用 lmplot()、regplot() 和 scatterplot() 函数在 Seaborn 中绘制散点图。但它们在向散点图添加回归线的方式上并不相同。
首先,我们将介绍在 Seaborn 中向散点图添加简单回归线的两种方法。要添加单条回归线,我们将使用 lmplot() 和 regplot() 函数。当您拥有一组包含第三个分类变量的数据时,为每个组添加一条回归线会很有帮助。
使用 lmplot() 通过 Seaborn 为每个组添加回归线
在散点图中,我们将使用 lmplot() 函数为每个组添加一条回归线。
示例
import seaborn # 加载数据 pg = seaborn.load_dataset('penguins') # 使用 lmplot import matplotlib.pyplot as pltt seaborn.lmplot(x="bill_length_mm", y="flipper_length_mm", hue="species", markers='*', data=pg, height=6) pltt.xlabel("Bill Length (mm)") pltt.ylabel("Flipper Length (mm)")
输出
使用 regplot() 在 Seaborn 中为每个组添加回归线
在散点图中,我们将使用 regplot() 函数为每个组添加回归线。
示例
import seaborn pg = seaborn.load_dataset('penguins') # 使用 lmplot import matplotlib.pyplot as pltt seaborn.regplot(x="bill_length_mm", y="flipper_length_mm", data=pg, ) pltt.xlabel("Bill Length (mm)") pltt.ylabel("Flipper Length (mm)")
输出
结论
在本文中,我们了解到回归线用于使用 x 和 y 变量进行预测。我们了解到回归线主要用于使用 Python 的 Seaborn 库的散点图。我们还发现,seaborn 中主要有两种方法可以将回归线添加到散点图,它们是 regplot() 和 lmplot()。