评论

收藏

[R语言] R语言神经网络

编程语言 编程语言 发布于:2021-06-30 09:30 | 阅读数:229 | 评论:0

  R语言中已经有许多用于神经网络的package。例如nnet、AMORE以及neuralnet,nnet提供了最常见的前馈反向传播神经网络算法。
  AMORE包则更进一步提供了更为丰富的控制参数,并可以增加多个隐藏层。
  neuralnet包的改进在于提供了弹性反向传播算法和更多的激活函数形式。
  但以上各包均围绕着BP网络,并未涉及到神经网络中的其它拓扑结构和网络模型。而新出炉的RSNNS包则在这方面有了极大的扩充。直接安装和加载RSNNS
install.packages(“RSNNS”)
library(Rcpp)
library(RSNNS)

神经网络建模
  library(grid)
library(MASS)
library(neuralnet) #加载相应的程序包,这里用的是neuralnet,还可以用nnet、tensorflow实现
str(data)
numdata=data[,-c(1,2,3)]
numdata                              是                      否                      近                      查                      尔                      斯                      河                      =                      a                      s                      .                      f                      a                      c                      t                      o                      r                      (                      n                      u                      m                      d                      a                      t                      a                          是否近查尔斯河=as.factor(numdata               是否近查尔斯河=as.factor(numdata是否近查尔斯河)
str(numdata)
ind<-sample(2,nrow(numdata),replace = T,prob = c(0.7,0.3))
trainset<-numdata[ind1,]
testset<-numdata[ind2,]
  head(trainset)
head(testset)
  net <- neuralnet(自住房的房价~人均犯罪率+住宅超过2500英里的比例+非零业务的比例,trainset, 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)#画网络图
net.results <- compute(net, testdata)#利用训练好的模型进行预测
ls(net.results)
print(net.results$net.result)#输出预测值
DSC0000.png

  
关注下面的标签,发现更多相似文章