【seaborn】4、Regression plots 回归图

使用sns.regplot() 建立回归模型,可看成是在散点图的基础上,多绘制一条回归线,观察两个变量的关系

regplot()和lmplot()都可以绘制线性回归曲线。这两个函数非常相似,lmplot()要比regplot()强大一点

数据准备

import numpy as np
import pandas as pd
import seaborn as sns
import matplotlib.pyplot as plt

tips = pd.read_csv(r'../input/seaborn-data/iris.csv')
tips.head()

【seaborn】4、Regression plots 回归图_第1张图片


regplot

seaborn.regplot(x, y, data=None, x_estimator=None, x_bins=None, x_ci='ci', 
scatter=True, fit_reg=True, ci=95, n_boot=1000, units=None, order=1, logistic=False, 
lowess=False, robust=False, logx=False, x_partial=None, y_partial=None, 
truncate=False, dropna=True, x_jitter=None, y_jitter=None, label=None, color=None, 
marker='o', scatter_kws=None, line_kws=None, ax=None)
sns.regplot(x='total_bill', y='tip', data=tips)

【seaborn】4、Regression plots 回归图_第2张图片
当其中一个变量为类别值(离散型数据),不适合建立回归模型时

sns.regplot(x='size', y='tip', data=tips)

【seaborn】4、Regression plots 回归图_第3张图片
可以在原数据上加上一个小范围的浮动(抖动)

sns.regplot(x='size', y='tip', data=tips, x_jitter=0.05)

【seaborn】4、Regression plots 回归图_第4张图片


lmplot

sns.lmplot() 函数也能达到一样的效果,当然两个函数的使用方法不完全一致,这里不做过多介绍

seaborn.lmplot(x, y, data, hue=None, col=None, row=None, palette=None, 
col_wrap=None, height=5, aspect=1, markers='o', sharex=True, sharey=True, 
hue_order=None, col_order=None, row_order=None, legend=True, legend_out=True, 
x_estimator=None, x_bins=None, x_ci='ci', scatter=True, fit_reg=True, ci=95, 
n_boot=1000, units=None, order=1, logistic=False, lowess=False, robust=False, 
logx=False, x_partial=None, y_partial=None, truncate=False, x_jitter=None, 
y_jitter=None, scatter_kws=None, line_kws=None, size=None)
  • col,row:和前面一样,根据所指定属性在列,行上分类;
  • col_wrap:指定每行的列数,最多等于col参数所对应的不同类别的数量;
  • aspect:控制图的长宽比;
  • x_jitter,y_jitter:给x,y轴随机增加噪音点,设置这两个参数不影响最后的回归直线;
  • order:多项式回归,控制进行回归的幂次,设定指数,可以用多项式拟合;
  • logistic:逻辑回归;
  • robust:如果是True,使用statsmodels来估计一个稳健的回归(鲁棒线性模型)。这将减少异常值。请注意 logistic回- 归和robust回归相较于简单线性回归需要更大的计算量,其置信区间的产生也依赖于bootstrap采样,你可以关掉置信区间估计来提高速度(ci=None);
  • lowess:如果是True,使用statsmodels来估计一个非参数的模型(局部加权线性回归)。这种方法具有最少的假设,尽管它是计算密集型的,但目前无法为这类模型绘制置信区间;
  • logx:转化为log(x)
  • truncate:默认情况下,绘制散点图后绘制回归线以填充x轴限制。如果为True,则它将被数据限制所限制;
    绘制一个第三个变量的条件,并绘制不同颜色的回归图:
sns.lmplot(x='total_bill', y='tip', data=tips)

【seaborn】4、Regression plots 回归图_第5张图片

sns.lmplot(x="total_bill", y="tip", hue="smoker", data=tips)

【seaborn】4、Regression plots 回归图_第6张图片

你可能感兴趣的:(#,seaborn,回归,机器学习,python)