R语言神经网络

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[ind
2,]

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)#输出预测值
R语言神经网络_第1张图片

你可能感兴趣的:(笔记,数据分析,R语言)