sns.regplot()用法

概念

seaborn.regplot()函数可以在两个变量之间绘制一个线性回归模型,可以输出线性回归线以及数据的散点图。

参数解释

seaborn.regplot(data=None, x=None, y=None, 
                x_estimator=None, x_bins=None, 
                x_ci='ci', scatter=True, fit_reg=True, 
                ci=95, n_boot=1000, units=None, 
                seed=None, order=1, logistic=False, 
                lowess=False, robust=False, logx=False, 
                x_partial=None, y_partial=None, truncate=True, 
                dropna=True, x_jitter=None, y_jitter=None, 
                label=None, color=None, marker='o', 
                scatter_kws=None, line_kws=None, ax=None)
  • X、Y: 这些是输入变量。如果是字符串,则这些应与“data”部分中的列名匹配。
  • data:是DateFrame类型,其中每列都是一个变量,每行是一个观测值。
  • x_estimator:将此函数应用于x的每个唯一值并绘制结果估计值。当x是离散变量时,这很有用。如果给定x_ci,则此估计值将自举并绘制置信区间
  • x_bins:将x分成多少段
  • x_ci:绘制 的离散值的集中趋势时使用的置信区间的大小。
  • scatter:如果为True,绘制包含基础观测值(或值)的散点图。
  • fit_reg:如果为True,估计并绘制与 和 变量相关的回归模型。
  • ci:回归估计值的置信区间大小。这将使用回归线周围的半透明波段来绘制。置信区间是使用 bootstrap 估计的;对于大型数据集,建议通过将此参数设置为“无”来避免该计算。
  • order:如果大于 1,则用于估计多项式回归。
  • logistic:如果为True,假设这是一个二元变量,并用于估计逻辑回归模型。请注意,这与线性回归相比,计算量要大得多,因此您可能希望减少 bootstrap 重新采样 () 的数量或设置为 None。
  • robust:用于估计稳健回归。这将减少异常值的权重。请注意,这与标准线性回归相比,计算量要大得多,因此您可能希望减少 bootstrap 重采样 () 的数量或设置为 None。
  • marker:用于散点图字形的标记。
  • color:应用于所有绘图元素的颜色。
  • label:用于图例的散点图或回归线的标签。
  • {scatter,line}_kws:要传递给plt.scatter和plt.plot的其他关键字参数。
  • ax:Axes 对象来绘制绘图,否则使用当前 Axes。

代码实现

单个

#可视化数据以及线性回归模型
fig,ax = plt.subplots(figsize=(12,6))
ax = plt.subplot(1,2,1)
sns.regplot(x=data_train["V0"],y=data_train["target"],
            scatter_kws={"marker":".","s":3,"alpha":0.3},
            line_kws={"color":"k"})
plt.xlabel("V0")
plt.ylabel("target")
ax = plt.subplot(1,2,2)
sns.distplot(data_train['V0'])
plt.xlabel("V0")
plt.show()

多个

def plot_reg(data):
    column = data.columns.tolist()[:data.shape[1]]
    fig,ax = plt.subplots(figsize=(12,208))
    for i in range(0,77,2):
        ax = plt.subplot(13,6,i+1)
        sns.regplot(x=data[column[i//2]],y=data["target"],
                    scatter_kws={"marker":".","s":3,"alpha":0.3},
                    line_kws={"color":"k"})
        ax = plt.subplot(13,6,i+2)
        sns.distplot(data[column[i//2]])
    plt.show()
plot_reg(data_train)

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值