Seaborn - 线性回归

Seaborn - 线性回归 首页 / Seaborn入门教程 / Seaborn - 线性回归

在大多数情况下,无涯教程使用包含多个定量变量的数据集,而分析的目的通常是将这些变量彼此关联,这可以通过回归线来完成。

在创建回归模型时,经常检查多重共线性,在那里必须看到连续变量的所有组合之间的相关性,并将采取必要的措施消除多重共线性(如果存在)。在这种情况下,以下技术会有所帮助。

无涯教程网

线性回归函数

Seaborn中有两个主要函数来可视化通过回归确定的线性关系。这些函数是 regplot()和 lmplot()。

链接:https://www.learnfk.comhttps://www.learnfk.com/seaborn/seaborn-linear-relationships.html

来源:LearnFk无涯教程网

regplot lmplot
接受各种格式的x和y变量,包括简单的numpy数组,pandas Series对象,或作为对pandas DataFrame中变量的引用将数据作为必需参数,并且x和y变量必须指定为字符串。这种数据格式称为"long-from"数据

在此示例中,先用相同的数据绘制regplot,然后绘制lmplot

import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df=sb.load_dataset('tips')
sb.regplot(x="total_bill", y="tip", data=df)
sb.lmplot(x="total_bill", y="tip", data=df)
plt.show()

您可以看到两个图之间的大小差异。

Zoomed and Magnifier

当变量之一取离散值时,也可以拟合线性回归

import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df=sb.load_dataset('tips')
sb.lmplot(x="size", y="tip", data=df)
plt.show()
Rugged

拟合不同类型

上面使用的简单线性回归模型非常容易拟合,但是在大多数情况下,数据是非线性的,并且上述方法无法概括回归线。

让无涯教程将Anscombe的数据集与回归图一起使用-

import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df=sb.load_dataset('anscombe')
sb.lmplot(x="x", y="y", data=df.query("dataset == 'I'"))
plt.show()
Dotted Graph

在这种情况下,数据非常适合线性回归模型,且方差较小。

让看另一个示例,其中数据存在较大偏差,这表明最佳拟合线不好。

import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df=sb.load_dataset('anscombe')
sb.lmplot(x="x", y="y", data=df.query("dataset == 'II'"))
plt.show()
Half

该图显示了数据点与回归线的高偏差,可以使用 lmplot()和 regplot()可视化这种非线性的高阶,可以拟合多项式回归模型,以探索非线性的简单趋势。

import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
df=sb.load_dataset('anscombe')
sb.lmplot(x="x", y="y", data=df.query("dataset == 'II'"),order=2)
plt.show()
parabola

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

黄勇的OKR实战笔记 -〔黄勇〕

即时消息技术剖析与实战 -〔袁武林〕

Linux内核技术实战课 -〔邵亚方〕

etcd实战课 -〔唐聪〕

React Hooks 核心原理与实战 -〔王沛〕

深入浅出分布式技术原理 -〔陈现麟〕

现代React Web开发实战 -〔宋一玮〕

快速上手C++数据结构与算法 -〔王健伟〕

Python实战 · 从0到1搭建直播视频平台 -〔Barry〕

好记忆不如烂笔头。留下您的足迹吧 :)