機器學習 - 箱線圖



箱線圖是一種資料集的圖形表示,它顯示資料的五數概括——最小值、第一四分位數、中位數、第三四分位數和最大值。

箱線圖由一個帶有從箱子頂部和底部延伸出的須的箱子組成。

  • 箱子表示資料的四分位數範圍 (IQR),即第一四分位數和第三四分位數之間的範圍。

  • 從箱子的頂部和底部延伸到IQR的1.5倍範圍內的最高值和最低值。

任何超出此範圍的值都被視為異常值,並以箱須之外的點表示。

Python中箱線圖的實現

現在我們已經對箱線圖有了基本的瞭解,讓我們在Python中實現它們。在我們的示例中,我們將使用Sklearn中的Iris資料集,其中包含150朵鳶尾花的萼片長度、萼片寬度、花瓣長度和花瓣寬度的測量值,這些鳶尾花屬於三個不同的物種——Setosa、Versicolor和Virginica。

首先,我們需要匯入必要的庫並載入資料集。

示例

import matplotlib.pyplot as plt
import seaborn as sns
from sklearn.datasets import load_iris
iris = load_iris()
data = iris.data
target = iris.target

接下來,我們可以使用Seaborn庫為三個鳶尾花物種中的每一個建立一個萼片長度的箱線圖。

plt.figure(figsize=(7.5, 3.5))
sns.boxplot(x=target, y=data[:, 0])
plt.xlabel('Species')
plt.ylabel('Sepal Length (cm)')
plt.show()

輸出

此程式碼將生成三個鳶尾花物種中每個物種的萼片長度的箱線圖,其中x軸表示物種,y軸表示以釐米為單位的萼片長度。

species

從這個箱線圖中,我們可以看到setosa物種的萼片長度比versicolor和virginica物種短,而versicolor和virginica物種的萼片長度中位數和範圍相似。此外,我們可以看到setosa物種中沒有異常值,但versicolor和virginica物種中有一些異常值。

廣告