R语言神经网络进行分类代码
时间: 2023-09-03 09:10:46 浏览: 89
NN-model.zip_R语言_神经网络_贝叶斯网络
5星 · 资源好评率100%
以下是一个用R语言实现神经网络进行分类的示例代码:
```R
# 加载所需的库
library(neuralnet)
# 加载数据集
data(iris)
# 将鸢尾花数据集分为训练数据和测试数据
set.seed(123)
train_index <- sample(1:nrow(iris), 0.7 * nrow(iris))
train_data <- iris[train_index, ]
test_data <- iris[-train_index, ]
# 定义神经网络模型
nn_model <- neuralnet(Species ~ Sepal.Length + Sepal.Width + Petal.Length + Petal.Width,
data = train_data, hidden = c(5, 3), linear.output = FALSE)
# 输出神经网络模型的结构
print(nn_model)
# 在测试集上进行预测
predicted_species <- predict(nn_model, test_data[, 1:4])
# 将预测结果转换为字符型
predicted_species <- apply(predicted_species, 1, function(x) {
ifelse(x == max(x), "setosa", ifelse(x == min(x), "virginica", "versicolor"))
})
# 计算精度
accuracy <- sum(predicted_species == test_data$Species) / nrow(test_data)
print(paste("Accuracy:", round(accuracy, 4)))
```
这个示例代码使用了鸢尾花数据集,将其分为训练数据和测试数据。然后使用`neuralnet`库定义了一个包含两个隐藏层(5个和3个神经元)的神经网络模型。然后在测试集上进行预测,并将预测结果转换为字符型。最后计算了预测的精度并输出。
阅读全文