趋近智
在分析了单个变量以及两个数值型或两个分类型变量之间的关系后,一项常见的分析任务是了解数值型测量值如何在不同组或类别之间变化。例如,不同职位(分类型)的平均工资(数值型)有何不同?或者客户消费(数值型)如何根据会员等级(分类型)而变化?这种分析有助于找出各组在分布、集中趋势和变异性方面的显著差异。
可视化对于这种比较特别有效。尽管计算每组的均值或中位数等汇总统计量能提供量化概览,但图表能更丰富、直观地呈现潜在的分布情况。我们将重点介绍两种比较数值变量在不同类别间分布的有力可视化方法:分组箱线图和提琴图。
箱线图常用于概括单个数值变量的分布。它们显示中位数、四分位数(四分位距,IQR)和潜在异常值。通过将多个箱线图并排显示,每个图对应一个分类变量的一个类别,可以直接比较各组的这些汇总统计量。
使用Seaborn创建分组箱线图很简单。你可以将分类变量指定给x轴(或y轴),将数值变量指定给另一个轴。
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
# 示例数据生成(请替换为您的实际数据)
np.random.seed(42)
data = {
'Category': np.random.choice(['Alpha', 'Beta', 'Gamma'], size=150),
'Value': np.concatenate([
np.random.normal(50, 15, 50), # Alpha类别
np.random.normal(65, 10, 50), # Beta类别
np.random.normal(55, 20, 50) # Gamma类别
])
}
df = pd.DataFrame(data)
# 创建分组箱线图
plt.figure(figsize=(8, 5)) # 设置图表大小以提高可读性
sns.boxplot(x='Category', y='Value', data=df, palette=['#74c0fc', '#ffa94d', '#69db7c']) # 使用蓝色、橙色、绿色
# 添加图表增强
plt.title('数值在不同类别上的分布')
plt.xlabel('类别类型')
plt.ylabel('测量值')
plt.grid(axis='y', linestyle='--', alpha=0.7) # 添加水平网格线
plt.show()
一个分组箱线图,比较了数值型“值”在三种“类别”类型(Alpha、Beta 和 Gamma)上的分布。Beta 似乎比 Alpha 和 Gamma 具有更高的中位数和更小的变异性(较小的 IQR)。Gamma 显示出最大的分散程度,并且中位数略高于 Alpha。
解读分组箱线图时,请注意:
提琴图是一种替代方法,通常能提供更多信息,用于比较不同类别间的分布。它们将箱线图的汇总统计量与两侧绘制的核密度估计(KDE)结合起来。这提供了对分布“形状”的洞察,展现了箱线图可能掩盖的多峰性(多个峰值)等特征。
提琴在任何给定值处的宽度表示数据点在该值附近的密度。内部可选地显示一个迷你箱线图、四分位数或仅显示中位数点。
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt
import numpy as np
# 复用箱线图示例中的样本数据
np.random.seed(42)
data = {
'Category': np.random.choice(['Alpha', 'Beta', 'Gamma'], size=150),
'Value': np.concatenate([
np.random.normal(50, 15, 50), # Alpha类别
np.random.normal(65, 10, 50), # Beta类别
np.random.normal(55, 20, 50) # Gamma类别
])
}
df = pd.DataFrame(data)
# 创建分组提琴图
plt.figure(figsize=(8, 5))
sns.violinplot(x='Category', y='Value', data=df, palette=['#74c0fc', '#ffa94d', '#69db7c'], inner='quartile') # 内部显示四分位数
# 添加图表增强
plt.title('数值在不同类别上的分布形状')
plt.xlabel('类别类型')
plt.ylabel('测量值')
plt.grid(axis='y', linestyle='--', alpha=0.7)
plt.show()
一个分组提琴图,显示了 Alpha、Beta 和 Gamma 类别中“值”的分布形状。该图确认了 Beta 具有更高的集中趋势和更紧密的分布。形状也表明 Gamma 可能比 Alpha 分布更分散一些,即使它们的中位数相对接近。所有分布看起来大致是单峰的。
解读提琴图时,请考虑:
这两种图表都是有价值的工具,用于观察数值变量和分类变量之间的关系。通过可视化这些比较,你可以更透彻地理解不同组在定量测量方面的表现,识别出仅查看汇总数据可能遗漏的模式。这种理解通常是进行更正式的统计检验或特征工程的起点。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造