R语言predict()函数详解:机器学习预测模型实战指南
简介
在R语言中,predict()
函数用于根据输入数据预测值。在R程序的所有建模场景中,predict()
函数都以其独特的方式发挥作用,但请注意,无论具体案例如何,predict()
函数的核心功能始终保持不变。
在本文中,您将学习如何在R语言中使用predict()
函数。
先决条件
完成本教程所需的材料如下:
- 已安装R语言环境。
R 中 predict() 函数的语法
在R语言中,predict()
函数用于基于输入数据预测值。
predict(object, newdata, interval)
object
: 继承自线性模型的对象。newdata
: 用于预测值的输入数据。interval
: 区间计算的类型。
predict() 函数的一个示例
为了预测数值,我们需要数据。针对本例,我们可以在R中导入内置数据集“Cars”。
df <- datasets::cars
这将为一个数据框分配一组速度(speed)和距离(dist)值。
speed dist
1 4 2
2 4 10
3 7 4
4 7 22
5 8 16
6 9 10
7 10 18
8 10 26
9 10 34
10 11 17
接下来,我们将使用predict()
函数来利用这些数据预测未来的值。
首先,我们需要为这个数据框计算一个线性模型。
# 创建一个线性模型
my_linear_model <- lm(dist~speed, data = df)
# 打印模型结果
my_linear_model
执行此代码将计算线性模型的结果。
Call:
lm(formula = dist ~ speed, data = df)
Coefficients:
(Intercept) speed
-17.579 3.932
现在我们有了一个线性模型,可以根据输入数据行为来预测车辆的速度。现在我们可以使用predict()
函数应用该模型。
# 创建一个数据框
variable_speed <- data.frame(speed = c(11,11,12,12,12,12,13,13,13,13))
# 拟合线性模型
linear_model <- lm(dist~speed, data = df)
# 预测未来值
predict(linear_model, newdata = variable_speed)
这段代码产生了以下输出:
1 2 3 4 5
25.67740 25.67740 29.60981 29.60981 29.60981
6 7 8 9 10
29.60981 33.54222 33.54222 33.54222 33.54222
好的,我们根据之前的数据,并借助线性模型成功预测了未来的距离数值。
现在,我们需要查看我们预测值中的“置信度”水平,以确定我们的预测准确性如何。
对预测值的置信度
在predict()
函数中使用置信区间将帮助我们评估预测的不确定性。
# 输入数据
variable_speed <- data.frame(speed = c(11,11,12,12,12,12,13,13,13,13))
# 拟合模型
linear_model <- lm(dist~speed, data = df)
# 预测值并计算置信区间
predict(linear_model, newdata = variable_speed, interval = 'confidence')
这段代码生成以下输出。
fit lwr upr
1 25.67740 19.96453 31.39028
2 25.67740 19.96453 31.39028
3 29.60981 24.39514 34.82448
4 29.60981 24.39514 34.82448
5 29.60981 24.39514 34.82448
6 29.60981 24.39514 34.82448
7 33.54222 28.73134 38.35310
8 33.54222 28.73134 38.35310
9 33.54222 28.73134 38.35310
10 33.54222 28.73134 38.35310
您可以在上面的输出中看到我们预测值的置信区间。
从这个输出结果可以预测,以11-13英里/小时的速度行驶的汽车有可能行驶19.9到31.3英里的距离。
结论
predict()
函数通过将先前的数据拟合到模型中,从而基于这些数据行为来预测数值。
您也可以使用置信区间来检查我们预测的准确性。
参考文献
- R 官方文档