散点图
如果我们想研究两个数字变量之间的关系,通常会选择散点图。在散点图中,每个数据点都单独表示为一个点,x 轴对应一个特征值,y 轴对应另一个特征值。创建散点图的一个基本方式是利用 Matplotlib 的 scatter
函数:
plt.scatter(data = df, x = 'num_var1', y = 'num_var2')
image.png
可以在这两个变量之间看到一个基本的正向关系,x 轴的值越高,y 轴上的变量值也增大。
替代方法
Seaborn 的 regplot
函数会创建散点图并进行回归函数拟合:
sb.regplot(data = df, x = 'num_var1', y = 'num_var2')
image.png
默认情况下,回归函数是线性的,并包含带阴影的回归估计置信区域。在这种情况下,因为看起来像 log(y) ~ x
关系,因此用原始单位绘制回归线不合适。如果我们不关心回归线,那么可以在 regplot
函数调用中设置 reg_fit = False
。否则,如果我们想对观察到的数据关系绘制回归线,需要变换数据,如上节课中所述。
def log_trans(x, inverse = False):
if not inverse:
return np.log10(x)
else:
return np.power(10, x)
sb.regplot(df['num_var1'], df['num_var2'].apply(log_trans))
tick_locs = [10, 20, 50, 100, 200, 500]
plt.yticks(log_trans(tick_locs), tick_locs)
注意,x 轴和 y 轴值可以直接设为 Series 或数组,而不是参考 dataframe 中的列。
[图片上传中...(image.png-dd08cc-1542550015608-0)]
网友评论