目录:可视化线性关系
这章篇介绍的是针对回归类型的散点数据的可视化。
seaborn 中的回归曲线图主要是用来增加一个视觉指南,有助于在探索性数据分析以强调在数据集中的模式。
这是说,seaborn本身并不进行统计分析软件包。为了获得有关回归模型的拟合定量测量,可以使用statsmodels。
1. 绘制线性回归模型的函数
可视化线性关系有两个函数可以完成:regplot()
和 implot()
返回回归曲线和 95% 置信区间(confidence interval)
1.1 regplot()
-
输入数据: 以各种格式接受x和y变量,包括numpy数组、Pandas的Series列或DataFrame对象的变量引用;
import numpy as np import seaborn as sns import matplotlib.pyplot as plt sns.set(color_codes=True) tips = sns.load_dataset("tips")
sns.regplot(x="total_bill", y="tip", data=tips);
1.2 lmplot()
-
输入数据:将数据集作为一个必需的参数,而x和y变量必须指定为字符串。这种形式的数据格式叫做“长型”或者“整洁”数据( “long-form” or “tidy” data)。
(regplot()可以看做是拥有lmplot()特征的子集,下面 part3有详细讲)sns.lmplot(x="total_bill", y="tip", data=tips);
注:regplot() 和 lmplot()在输入格式上的差别:一句话,regplot()传入参数 x 和 y 即可;lmplot() 除了
x 和 y 还必须传入 data。
2. 不同情况下的使用
2.1 变量 x 是离散值
即使对于其中一个变量是离散值,也是可以正常运行。
sns.lmplot(x="size", y="tip", data=tips);
解决办法 1:一种方法是增加一些随机噪声的“抖动”(“jitter”),让这些值的分布更加明晰。
值得注意的是,抖动仅适用于散点图数据,且不会影响拟合的回归线本身。
sns