在大多数情况下,无涯教程使用包含多个定量变量的数据集,而分析的目的通常是将这些变量彼此关联,这可以通过回归线来完成。
在创建回归模型时,经常检查多重共线性,在那里必须看到连续变量的所有组合之间的相关性,并将采取必要的措施消除多重共线性(如果存在)。在这种情况下,以下技术会有所帮助。
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()
您可以看到两个图之间的大小差异。
当变量之一取离散值时,也可以拟合线性回归
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()
上面使用的简单线性回归模型非常容易拟合,但是在大多数情况下,数据是非线性的,并且上述方法无法概括回归线。
让无涯教程将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()
在这种情况下,数据非常适合线性回归模型,且方差较小。
链接: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()
该图显示了数据点与回归线的高偏差,可以使用 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()
祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)