R语言中几种可用于神经网络的包的使用
- nnet包
nnet提供了最常见的前馈反向传播神经网络算法
nnet只有一层隐藏层,是基于BP神经网络的一种算法
library(nnet)
#训练集序号
trIn=c(sample(1:50,40),sample(51:100,40),sample(101:150,40))
traindata=iris[trIn,]
testdata=iris[-trIn,]
#类别预处理,这一步是nnet()函数特别要求的
ide=class.ind(iris$Species)
#构建网络,训练模型,nnet前两个参数构成训练集,size表示中间层神经元个数
net=nnet(traindata[,-5],ide[trIn,],size = 3,softmax = TRUE)
#预测
tex=predict(net,testdata[,-5],type = "class")
#混淆矩阵
my.da=table(real=testdata$Species,predict=tex)
- AMORE
AMORE包则更进一步提供了更为丰富的控制参数,并可以增加多个隐藏层。
自己写的,只是阐明用法,应该需要归一化处理,这里没有做。
library(AMORE)
#训练集序号
trIn=c(sample(1