一天一图学Python可视化(1):线性回归图

现代人的时间越来越碎片化,因此我们准备抛弃那种长篇大论的教程,希望大家每天花上几分钟就可以学到一个小窍门或者某种图的绘制方法。只要每天都认真看一遍文章,有时间的时候花几分钟练习一下,一段时间之后,相信大家就都成为Python可视化的高手啦!

接下来,我们目标不大,一天学习并掌握一个实用的小案例就够了!

回归图

今天,我们学习的是使用seaborn绘制回归图。

回归图主要用于表现两个变量之间的线性关系,一般情况下,它在散点图的基础上,会增加一条直线(也有可能是曲线),这条线就是statsmodels中使用最小二乘法预测的两个变量的关系:y = ax + b

回归图有非常丰富的应用场景,比如:

  1. 我们想知道广告费和营收、净利润之间是否成正比;
  2. 我们想知道用户日均活跃时长与用户创建天数之间的关系是什么;
  3. 我们想知道用户的生命周期价值(LTV)与用户获取成本之间的关系;
  4. 我们想知道学生的日均学习时长与成绩之间的关系;
  5. ……

看来我们有更多的理由来学习回归图了,毕竟它是一个应用超广泛的图形!

我们先看一下代码和效果:

import seaborn as sns
sns.set(style="ticks")

# Load the example dataset for Anscombe's quartet
df = sns.load_dataset("anscombe")

# Show the results of a linear regression within each dataset
sns.lmplot(x="x", y="y", col="dataset", hue="dataset", data=df,
           col_wrap=2, ci=None, palette="muted", height=4,
           scatter_kws={"s": 50, "alpha": 1});
image

那么接下来我们就详细讨论下绘图过程的细节。

  1. x / y / data:前两个参数用于指定列名,第三个参数用于指定数据。在seaborn中,我们会经常使用pandas DataFrame格式的数据,seaborn对于pandas有极为良好的支持。
  2. col / row:用于指定图中行和列所对应的变量,比如我们用dataset变量传递给col,那么在我们的图中,由于dataset变量有四个取值,因此每个取值对应的子数据集会被绘制到单独的一列,一共四列(这里看到的不是四列,我们下边会讲到为什么)。
  3. hue:用于指定色彩变量,在我们这张图中,hue变量也是dataset,所以这四组数据会在被分到四列的同时,也被分别绘制成四种不同的颜色。
  4. col_wrap:这个参数就是明明我们的dataset变量有四种取值,但图中看起来还是两列的原因。这个参数指定了再达到多少列以后,会进行折行。我们在这里指定了2,因此我们将原本的4列转换成了2行*两列。
  5. ci:confidence interval,置信区间。这个过程是使用自助采样法,对样本多次重复抽样,得到样本均值的分布,并将其95%的置信区间绘制出来。
  6. palette:调色板,这个用于控制hue变量所展示的颜色。在分类(离散)变量中,我们一般会指定一组不同色调的颜色(针对连续变量,我们经常会使用同一个颜色的不同亮度、饱和度来表现)。
  7. height:注意,这里指的是每个子图的高度,如果还想控制宽度的话,那就要再指定aspect参数来控制宽高比。
  8. scatter_kws:字典形式,用于控制散点的更多细节。这一组参数会隐式地传入更底层的plt.scatter函数中,因此这里可以输入任何plt.scatter支持的参数。在这里,我们用sizealpha分别控制了散点的大小和透明度。

好了,今天我们学习了使用seaborn.lmplot()来绘制回归图,它用于表现两个变量之间的线性关系。

你学会了吗?

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 212,294评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,493评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,790评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,595评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,718评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,906评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,053评论 3 410
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,797评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,250评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,570评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,711评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,388评论 4 332
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,018评论 3 316
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,796评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,023评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,461评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,595评论 2 350

推荐阅读更多精彩内容