回归模型是基于自变量对目标预测值进行建模。它主要用于发现变量之间的关系以及进行预测。不同的回归模型主要取决于它们所考虑的因变量和自变量之间的关系类型,以及所使用的自变量数量。
理解事物最好的方式就是将其可视化,我们可以通过在数据集上绘制回归线来实现这一点。在大多数情况下,我们使用散点图来表示数据集,并画出一条回归线来直观地展示回归是如何工作的。
目录
方法
在 R 语言中,可视化数据是非常直观的。绘制回归线的步骤通常包括以下几个阶段:-
- 创建数据集以绘制数据点
- 使用 ggplot2 库和 ggplot() 函数来绘制数据点
- 使用 geom_point() 函数将数据集绘制成散点图
- 使用任意平滑函数在数据集上绘制回归线,这包括使用 lm() 函数来计算直线的截距和斜率。各种平滑函数如下所示。
方法 1:使用 stat_smooth()
在 R 中,我们可以使用 stat_smooth() 函数来平滑可视化效果。
> 语法: statsmooth(method="methodname", formula=fromulatobe_used, geom=‘method name‘)
>
>
> 参数:
>
>
> – method: 用于平滑线条的平滑方法(函数)
> – formula: 在平滑函数中使用的公式
> – geom: 用于显示数据的几何对象
为了借助 stat_smooth() 函数在图形介质上显示回归线,我们需要传递 method 参数为 "lm",使用的公式为 y ~ x,以及 geom 参数为 ‘smooth‘。
R
“# 创建示例数据
rm(list = ls())
set.seed(87)
x <- rnorm(250)
y <- rnorm(250) + 2 *x
data <- data.frame(x, y)
打印数据的前几行
head(data)
安装并加载 ggplot2
library("ggplot2")
创建基础的 ggplot 图形
并添加回归线
ggp <- ggplot(data, aes(x, y)) +
geom_point()
ggp
ggp +
stat_smooth(method = "lm",
formula = y ~ x,
geom = "smooth")
`
**输出:**

## 方法 2:使用 geom_smooth()
在 R 中,我们可以使用 geom_smooth() 函数来表示回归线并平滑可视化效果。
> **语法:** geom_smooth(method="method_name", formula=fromula_to_be_used)
>
>
> **参数:**
>
>
> - **method:** 用于平滑线条的平滑方法(函数)
> - **formula:** 在平滑函数中使用的公式
在本例中,我们使用的是包含房价数据的 Boston 数据集,该数据集来自一个名为 MASS 的包。为了借助 geom_smooth() 函数在图形介质上显示回归线,我们将 **method** 传递为 **"loess"**,使用的公式为 **y ~ x**。
R
`
# 导入必要的库
library(dplyr)
加载数据
data("Boston", package = "MASS")
将数据拆分为训练集和测试集
training.samples %
createDataPartition(p = 0.85, list = FALSE)
创建训练数据和测试数据
train.data <- Boston[training.samples, ]
test.data <- Boston[-training.samples, ]
绘制数据
ggp<-ggplot(train.data, aes(lstat, medv) ) +
geom_point()
ggp+geom_smooth(method = "loess",
formula = y ~ x)
`
**输出:**

## 方法 3:使用 geom_abline()
我们可以使用 geom_abline() 函数创建回归线。它使用通过 lm() 函数应用线性回归计算出的系数和截距。
> **语法:** geom_abline(intercept, slope, linetype, color, size)
>
>
> **参数:**
>
>
> - **intercept:** 待绘制直线的计算所得 y 截距
> - **slope:** 待绘制直线的斜率
> - **linetype:** 指定待绘制直线的类型** **
> - **color:** 待绘制直线的颜色
> - **size:** 指示线条的大小
截距和斜率可以通过 lm() 函数轻松计算,该函数用于线性回归,之后我们可以使用 coefficients() 函数提取系数。
R
`
rm(list = ls())
安装并加载 ggplot2
library("ggplot2")
set.seed(87)
创建示例数据
x <- rnorm(250)
y <- rnorm(250) + 2 *x
data <- data.frame(x, y)
reg<-l