python画回归曲线,python 绘制曲线

  python画回归曲线,python 绘制曲线

  这篇文章主要为大家介绍了如何利用海生的绘制变量之间线型回归(线性回归)曲线,2文中涉及如下两个重要函数:seaborn.regplot和seaborn.lmplot,感兴趣的小伙伴可以跟随小编一起学习一下

  

目录
本文速览1、绘图数据准备2、seaborn.regplotregplot默认参数线型回归图分别设置点和拟合线属性置信区间(置信区间)设置拟合线延伸与坐标轴相交拟合离散变量曲线多项式回归(多项式回归)拟合曲线3、seaborn.lmplot按变量分类拟合回归线散点标记设置散点调色盘拟合线属性设置绘制分面图

  

本文速览

  

1、绘图数据准备

  依旧使用鸢尾花虹膜数据集,详细介绍见之前文章。

  #导入本帖要用到的库,声明如下:

  将matplotlib.pyplot作为血小板计数导入

  将数组作为铭牌导入

  进口熊猫作为螺纹中径

  进口托盘

  来自熊猫进口系列,数据框架

  从实例导入数据集

  将海生的作为社交网站(Social Network Site的缩写)导入

  进口托盘

  #导入鸢尾花虹膜数据集(方法一)

  #该方法更有助于理解数据集

  iris=datasets.load_iris()

  x,y=虹膜。数据,虹膜。目标

  y _ 1=NP。数组([ setosa if I==0 else versicolor if I==1 else virginica for I in y])

  pd_iris=pd .DataFrame(np.hstack((x,y _ 1。shape(150,1))),columns=[萼片长度(厘米),萼片宽度(厘米),花瓣长度(厘米),花瓣宽度(厘米),类])

  # a类型修改pd_iris中数据类型目标为float64

  pd_iris[萼片长度(厘米)]=pd_iris[萼片长度(厘米)]。astype(float64 )

  pd_iris[萼片宽度(厘米)]=pd_iris[萼片宽度(厘米)]。astype(float64 )

  pd_iris[花瓣长度(厘米)]=pd_iris[花瓣长度(厘米)]。astype(float64 )

  pd_iris[花瓣宽度(厘米)]=pd_iris[花瓣宽度(厘米)]。astype(float64 )

  #导入鸢尾花虹膜数据集(方法二)

  #该方法有时候会卡巴斯基,所以弃而不用

  #将海生的作为社交网站(Social Network Site的缩写)导入

  # iris _ SNS=SNS。load _ dataset( iris )

  数据集简单查看

  

2、seaborn.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,seed=None,order=1,logistic=False,lowess=False,robust=False,logx=False,x_partial=None,y_partial=None,truncate=True,dropna=Tr

  ue, x_jitter=None, y_jitter=None, label=None, color=None, marker='o', scatter_kws=None, line_kws=None, ax=None)

  

  

regplot默认参数线型回归图

  

plt.figure(dpi=100)

  sns.set(style="whitegrid",font_scale=1.2)#设置主题,文本大小

  g=sns.regplot(x=sepal length(cm), y=sepal width(cm), data=pd_iris,

   color=#000000,#设置marker及线的颜色

   marker=*,#设置marker形状

   )

  

  

  

分别设置点和拟合线属性

  

plt.figure(dpi=100)

  sns.set(style="whitegrid",font_scale=1.2)

  g=sns.regplot(x=sepal length(cm), y=sepal width(cm), data=pd_iris,

   color=#000000,

   marker=*,

   scatter_kws={s: 60,color:g,},#设置散点属性,参考plt.scatter

   line_kws={linestyle:--,color:r}#设置线属性,参考 plt.plot

  

  

  

  

置信区间(confidence interval)设置

  注意拟合线周围阴影面积变化

  

plt.figure(dpi=100)

  sns.set(style="whitegrid",font_scale=1.2)

  g=sns.regplot(x=sepal length(cm), y=sepal width(cm), data=pd_iris,

   color=#000000,

   marker=*,

   ci=60,#置信区间设置,默认为95%置信区间,越大线周围阴影部分面积越大

   )

  

  

  

拟合线延伸与坐标轴相交

  

# extend the regression line to the axis limits

  plt.figure(dpi=100)

  sns.set(style="whitegrid",font_scale=1.2)

  g=sns.regplot(x=sepal length(cm), y=sepal width(cm), data=pd_iris,

   color=#000000,

   marker=*,

   truncate=False,#让拟合线与轴相交

   )

  

  

  

拟合离散变量曲线

  

plt.figure(dpi=100)

  sns.set(style="whitegrid",font_scale=1.2)

  x_discrete=[0 if i==setosa else 1 if i==versicolor else 2 for i in pd_iris[class]]#

  g=sns.regplot(x=x_discrete, y=sepal width(cm), data=pd_iris,#x此时为离散变量

   color=#000000,

   marker=*,

   )

  

  

  

  

多项式回归( polynomial regression)拟合曲线

  

plt.figure(dpi=110)

  sns.set(style="whitegrid",font_scale=1.2)

  g=sns.regplot(x=sepal length(cm), y=sepal width(cm), data=pd_iris,

   marker=*,

   order=4,#默认为1,越大越弯曲

   scatter_kws={s: 60,color:#016392,},#设置散点属性,参考plt.scatter

   line_kws={linestyle:--,color:#c72e29}#设置线属性,参考 plt.plot

   )

  

  

  

3、seaborn.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, seed=None, order=1, logistic=False, lowess=False, robust=False, logx=False, x_partial=None, y_partial=None, truncate=True, x_jitter=None, y_jitter=None, scatter_kws=None, line_kws=None, size=None)

  seaborn.lmplot结合seaborn.regplot()和FacetGrid,比seaborn.regplot()更灵活,可绘制更个性化的图形。

  

  

按变量分类拟合回归线

  

plt.figure(dpi=100)

  sns.set(style="whitegrid",font_scale=1.2)

  g=sns.lmplot(x=sepal length(cm), y=sepal width(cm), data=pd_iris,

   hue=class,

   )

  g.fig.set_size_inches(10,8)

  

  

  

散点marker设置

  

plt.figure(dpi=100)

  sns.set(style="whitegrid",font_scale=1.2)

  g=sns.lmplot(x=sepal length(cm), y=sepal width(cm), data=pd_iris,

   hue=class,

   markers=[+,^,o], #设置散点marker

   )

  g.fig.set_size_inches(10,8)

  

  

  

散点调色盘

  

plt.figure(dpi=100)

  sns.set(style="whitegrid",font_scale=1.2)

  g=sns.lmplot(x=sepal length(cm), y=sepal width(cm), data=pd_iris,

   hue=class,

   markers=[+,^,*],

   scatter_kws={s:180},

   palette=["#01a2d9", "#31A354", "#c72e29"],#调色盘

   )

  g.fig.set_size_inches(10,8)

  

  

  

拟合线属性设置

  

plt.figure(dpi=100)

  sns.set(style="whitegrid",font_scale=1.2)

  g=sns.lmplot(x=sepal length(cm), y=sepal width(cm), data=pd_iris,

   hue=class,

   markers=[+,^,*],

   scatter_kws={s:180},

   line_kws={linestyle:--},#拟合线属性设置

   palette=["#01a2d9", "#31A354", "#c72e29"],

   )

  g.fig.set_size_inches(10,8)

  

  

  

绘制分面图

  

plt.figure(dpi=100)

  sns.set(style="whitegrid",font_scale=1.2)

  g=sns.lmplot(x=sepal length(cm), y=sepal width(cm), data=pd_iris,

   col=class,#按class绘制分面图

   markers=*,

   scatter_kws={s:150,color:#01a2d9},

   line_kws={linestyle:--,color:#c72e29},#直线属性设置

   )

  g.fig.set_size_inches(10,8)

  

  以上就是Python可视化学习之seaborn绘制线型回归曲线的详细内容,更多关于Python seaborn线型回归曲线的资料请关注盛行IT软件开发工作室其它相关文章!

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: