美文网首页DATA ANALYSIS PROCESS
Matplotlib和Seaborn之散点图和相关性

Matplotlib和Seaborn之散点图和相关性

作者: IntoTheVoid | 来源:发表于2020-04-23 13:38 被阅读0次

    散点图

    如果我们想研究两个数字变量之间的关系,通常会选择散点图。在散点图中,每个数据点都单独表示为一个点,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)]

    相关文章

      网友评论

        本文标题:Matplotlib和Seaborn之散点图和相关性

        本文链接:https://www.haomeiwen.com/subject/trdnfqtx.html