机器学习 - 箱线图
箱线图是一种数据集的图形表示方法,它展示了数据的五数概括——最小值、第一四分位数、中位数、第三四分位数和最大值。
箱线图由一个盒子组成,盒子顶部和底部延伸出须。
盒子表示数据的四分位间距 (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 轴表示以厘米为单位的花萼长度。
从这个箱线图中,我们可以看到 setosa 物种的花萼长度比 versicolor 和 virginica 物种短,后两者具有相似的花萼长度中位数和范围。此外,我们可以看到 setosa 物种中没有异常值,但 versicolor 和 virginica 物种中有几个异常值。