趋近智
在通过单变量分析审视单个变量之后,我们的重点转向检查成对变量之间的联系。这种双变量分析对于找出数据集中涉及多个特征的联系和规律非常必要。
双变量分析中最常见且有用的情况之一是考察两个数值变量之间的关系。例如,发动机排量与燃油效率有何关联?或者广告支出与销售额如何相关?观察此类关系的主要可视化工具是散点图。
散点图在二维图上显示单个数据点。每个点的位置由两个选定的数值变量的值决定:一个变量决定水平轴(x轴)上的位置,另一个变量决定垂直轴(y轴)上的位置。这种可视化方法使我们能够直接观察两个变量之间关联的结构、方向和强度。
Matplotlib和Seaborn等Python库提供了生成散点图的便利函数。Seaborn的scatterplot函数与Pandas DataFrame顺畅结合,因此特别有用。
我们从一个简单例子开始。我们将生成一些合成数据,其中两个变量大致呈线性关系,然后使用Seaborn绘制它们。
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
# 生成样本数据
np.random.seed(42) # 为了可重复性
x_data = np.random.rand(100) * 10
y_data = 2.5 * x_data + np.random.randn(100) * 5 # y = 2.5x + 噪声
# 创建DataFrame
df = pd.DataFrame({'Variable_X': x_data, 'Variable_Y': y_data})
# 创建散点图
plt.figure(figsize=(8, 5)) # 设置图形大小
sns.scatterplot(data=df, x='Variable_X', y='Variable_Y')
# 添加标签和标题以提高清晰度
plt.xlabel("Variable X")
plt.ylabel("Variable Y")
plt.title("Scatter Plot of Variable Y vs. Variable X")
# 显示图形
plt.show()
这段代码首先创建了两个NumPy数组x_data和y_data,其中y_data线性依赖于x_data并添加了一些随机噪声。然后将这些数据放入一个Pandas DataFrame中。最后,调用sns.scatterplot,传入DataFrame以及x轴和y轴的列名。我们还使用Matplotlib函数添加了标签和标题,以便更好地理解。
检查散点图时,寻找这些重要特征:
以下是不同模式的可视示例:
明显的向上趋势表示正向线性关联。
明显的向下趋势表示负向线性关联。
点随机散布,表明X和Y之间几乎没有线性关联。
scatterplot或scatter中的s参数)。alpha参数使标记半透明(例如,alpha=0.5)。plt.xlabel,plt.ylabel)并提供信息丰富的标题(plt.title)。这对于传达您的发现非常重要。scatterplot允许使用hue(颜色)、size或style参数,根据第三个变量的值来区分点。散点图为两个数值变量之间的潜在关系提供了非常有价值的第一印象。它们直观地总结了关联的方向、形式和强度,指导进一步的定量分析,例如计算相关系数,我们将在接下来讨论。
这部分内容有帮助吗?
© 2026 ApX Machine Learning用心打造