前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python数据分析之Seaborn(回归分析绘图)

Python数据分析之Seaborn(回归分析绘图)

作者头像
AI异构
发布2020-07-29 11:15:13
1.9K0
发布2020-07-29 11:15:13
举报
文章被收录于专栏:AI异构

Seaborn回归分析绘图

代码语言:javascript
复制
%matplotlib inline
import numpy as np
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
代码语言:javascript
复制
import seaborn as sns
sns.set(color_codes=True)
np.random.seed(sum(map(ord, "regression")))

tips = sns.load_dataset("tips") # 导入tips数据集

tips.head() #查看数据集
regplot()绘制回归关系图
代码语言:javascript
复制
#采用regplot绘制拟合的数据线
sns.regplot(x="total_bill", y="tip", data=tips) #x轴代表花的钱的数据,y轴对应给小费的数据
代码语言:javascript
复制
<matplotlib.axes._subplots.AxesSubplot at 0x22d8d8db518>
lmplot()绘制回归关系图

lmplot是一种集合基础绘图与基于数据建立回归模型的绘图方法。旨在创建一个方便拟合数据集回归模型的绘图方法,利用huecolrow参数来控制绘图变量。

代码语言:javascript
复制
seaborn.lmplot(x, y, data, hue=None, col=None, row=None, palette=None, col_wrap=None, size=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)

参数说明:

  • hue, col, row : strings #定义数据子集的变量,并在不同的图像子集中绘制
  • size : scalar, optional #定义子图的高度
  • markers : matplotlib marker code or list of marker codes, optional #定义散点的图标
  • col_wrap : int, optional #设置每行子图数量
  • order : int, optional #多项式回归,设定指数
  • logistic : bool, optional #逻辑回归
  • logx : bool, optional #转化为log(x)
代码语言:javascript
复制
#研究小费tips与总消费金额total_bill在吸烟与不吸烟人之间的关系
g = sns.lmplot(x="total_bill", y="tip", hue="smoker", data=tips,palette="Set1")
代码语言:javascript
复制
#研究在不同星期下,消费总额与消费的回归关系
# col|hue控制子图不同的变量day,col_wrap控制每行子图数量,size控制子图高度
g = sns.lmplot(x="total_bill", y="tip", col="day", hue="day",data=tips, col_wrap=2, size=3)
代码语言:javascript
复制
pokemon=pd.read_csv('../dataset/Pokemon.csv') #载入宠物小精灵战斗力数据集
pokemon.head()
代码语言:javascript
复制
#观察每一代攻击与防御的分布,利用二次多项式逼近
sns.lmplot(x="Defense", y="Attack",data=pokemon,col="Generation", hue="Generation",col_wrap=3, size=3,order=2)
代码语言:javascript
复制
<seaborn.axisgrid.FacetGrid at 0x22d8bce32e8>
代码语言:javascript
复制
#继续在同一图中观察不同代的sp.Atk,Sp.Def线性关系
sns.lmplot(x="Sp. Atk", y="Sp. Def", data=pokemon, hue='Generation', size=5,order=1)
代码语言:javascript
复制
<seaborn.axisgrid.FacetGrid at 0x22d8be4b5f8>

参考

[Style functions]http://seaborn.pydata.org/tutorial/aesthetics.html#aesthetics-tutorial

[Color palettes]http://seaborn.pydata.org/tutorial/color_palettes.html#palette-tutorial

[Distribution plots]http://seaborn.pydata.org/tutorial/distributions.html#distribution-tutorial

[Categorical plots]http://seaborn.pydata.org/tutorial/categorical.html#categorical-tutorial

[Regression plots]http://seaborn.pydata.org/tutorial/regression.html#regression-tutorial

[Axis grid objects]http://seaborn.pydata.org/tutorial/axis_grids.html#grid-tutorial [10分钟python图表绘制]https://zhuanlan.zhihu.com/p/24464836

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-03-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 AI异构 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Seaborn回归分析绘图
    • regplot()绘制回归关系图
      • lmplot()绘制回归关系图
      • 参考
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档