Seaborn - 线性回归

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

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

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

线性回归函数

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

无涯教程网

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

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

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

来源:LearnFk无涯教程网

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

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

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

技术教程推荐

从0开始学大数据 -〔李智慧〕

Linux性能优化实战 -〔倪朋飞〕

从0开始做增长 -〔刘津〕

全栈工程师修炼指南 -〔熊燚(四火)〕

图解 Google V8 -〔李兵〕

数据中台实战课 -〔郭忆〕

视觉笔记入门课 -〔高伟〕

自动化测试高手课 -〔柳胜〕

徐昊 · AI 时代的软件工程 -〔徐昊〕

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