机器学习 - 箱线图



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

箱线图由一个带有从箱子顶部和底部延伸出的须的箱子组成。

  • 箱子表示数据的四分位数范围 (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物种中有一些异常值。

广告
© . All rights reserved.