BP神经网络回归R语言代码
时间: 2023-10-23 17:21:28 浏览: 48
以下是一个简单的BP神经网络回归的R语言代码示例:
```R
library(neuralnet)
# 准备数据
x <- runif(100, 0, 1)
y <- sin(2 * pi * x) + rnorm(100, 0, 0.3)
data <- data.frame(x, y)
# 划分训练集和测试集
train_index <- sample(1:nrow(data), 70)
train_data <- data[train_index, ]
test_data <- data[-train_index, ]
# 构建BP神经网络模型
bp_model <- neuralnet(y ~ x, data = train_data, hidden = 3, linear.output = TRUE)
# 预测测试集结果
test_pred <- predict(bp_model, test_data)
# 计算测试集均方误差
mse <- mean((test_data$y - test_pred)^2)
cat("测试集均方误差为:", mse)
```
上述代码中,首先使用`runif`函数生成100个0-1之间的随机数,并以此作为自变量`x`,再将`sin(2 * pi * x)`加上一个服从均值为0、标准差为0.3的正态分布噪声作为因变量`y`。然后将数据划分为训练集和测试集,其中训练集占70%。接着使用`neuralnet`函数构建一个3层的BP神经网络模型,并以训练集数据进行训练。最后使用`predict`函数对测试集进行预测,并计算测试集均方误差。