机器学习中 Box and Whisker Plots 怎么画和解读?

文章导读
Previous Quiz Next 箱线图是一种数据集的图形表示方法,它展示了数据的五数概括——最小值、第一四分位数、中位数、第三四分位数和最大值。
📋 目录
  1. Python 中的箱线图实现
A A

机器学习 - 箱线图



Previous
Quiz
Next

箱线图是一种数据集的图形表示方法,它展示了数据的五数概括——最小值、第一四分位数、中位数、第三四分位数和最大值。

箱线图由一个盒子组成,盒子顶部和底部延伸出须。

  • 盒子表示数据的四分位间距 (IQR),即第一四分位数和第三四分位数之间的范围。

  • 从盒子的顶部和底部延伸到最高和最低值,这些值在 1.5 倍 IQR 的范围内。

超出此范围的任何值都被视为异常值,并表示为须外的点。

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 库为三种鸢尾花物种创建花萼长度的箱线图。

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

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 物种中有几个异常值。