如何在 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() 函数。当您有一组具有第三个分类变量的数据集时,为每个组添加回归线可能会有所帮助。
使用 Seaborn 的 lmplot() 为每个分组添加回归线
在散点图中,我们将使用 lmplot() 函数为每个组添加回归线。
示例
import seaborn # load data pg = seaborn.load_dataset('penguins') # use 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)")
输出
使用 Seaborn 的 regplot() 为每个分组添加回归线
在散点图中,我们将使用 regplot() 函数为每个组添加回归线。
示例
import seaborn pg = seaborn.load_dataset('penguins') # use 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()。