【R笔记】R机器学习(十四)——BP神经网络

前言

本文基于R实现BP神经网络用以预测,输入属性有三个,输出属性一个,隐藏层设置20个神经元,数据如下:

【R笔记】R机器学习(十四)——BP神经网络_第1张图片

代码

library(grid)    
library(MASS)
library(neuralnet) #加载相应的程序包,这里用的是neuralnet,还可以用nnet、tensorflow实现
p <- matrix(c(80.0,90.0,180.0,140.0,3.0,8.0,20.0,16.0,50.0,70.0,120.0,90.0),4,3,byrow = T)
t <- c(11.0,12.5,20.0,18.0)
trainingdata <- cbind(p,t) #合并数据集
trainingdata
colnames(trainingdata) <- c("Input1","Input2","Input3","Output")
net <- neuralnet(Output~Input1+Input2+Input3,trainingdata, hidden=20, threshold=0.005, learningrate = 0.1, algorithm = "rprop+", err.fct = "sse", act.fct = "logistic")  #建立神经网络模型解决回归预测,三个输入,一个输出,隐藏层20个神经元,阈值为0.005,学习率为0.1,选用rprop+方法进行参数优化,损失函数SSE,激活函数logistic  
print(net)   
plot(net)   #画网络图
testdata <- matrix(c(120.0,5.0,85.0),1,3,byrow = T) #建立测试集
net.results <- compute(net, testdata)   #利用训练好的模型进行预测
ls(net.results)   
print(net.results$net.result)  #输出预测值

网络图



你可能感兴趣的:(Machine,Learning,R,应用工具,R学习笔记,ML学习笔记)