Machine Learning 简明教程

Machine Learning - Box and Whisker Plots

箱形图是对数据集的图形表示,它显示数据的五数概括——最小值、第一四分位数、中值、第三四分位数和最大值。

箱形图包含一个带有从箱子顶部和底部延伸的触须的箱子。

  1. box 表示数据的四分位间距 (IQR),这是第一和第三四分位数之间的范围。

  2. whiskers 从箱子的顶部和底部延伸到在 IQR 的 1.5 倍以内的最高和最低值。

超出此范围的任何值均视为 outliers ,并表示为超出端点范围内的点。

Python Implementation of Box and Whisker Plots

既然我们对箱型图有了基本了解,那么我们便可以在 Python 中实现它们。对于我们的示例,我们将使用 Sklearn 中的 Iris 数据集,其中包含属于三个不同种类(Setosa、Versicolor 和 Virginica)的 150 种鸢尾花的花萼长度、花萼宽度、花瓣长度和花瓣宽度的测量结果。

首先,我们需要导入所需的库并加载数据集。

Example

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 种类相比较短,而后者的花萼长度中值和范围相似。此外,我们可以看出 setosa 种类没有离群值,但 Versicolor 和 Virginica 种类有一些离群值。