如何在 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()。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP