神经网络由一组互联的结点组成,这些节点分别负责网络的输入,连接,处理以及输出。神经网络被广泛用于诸如分类、聚类、预测等诸多领域。借助neuralnet训练得到神经网络模型。
操作
导入数据集,并将数据分为训练集和测试集
data("iris")
set.seed(2)
ind = sample(2,nrow(iris),replace = TRUE,prob = c(0.7,0.3))
trainset = iris[ind == 1,]
testset = iris[ind == 2,]
1
2
3
4
5
导入与安装包
library(neuralnet)
1
根据数据集在species列取值不同,为训练集新增三种数列
net=newff(minmax(p),[3,5,4],{'tansig','purelin','logsig'},'trainlm')net.trainParam.goal= 0.00001
net.trainParam.epochs= 10000
net= train(net,p,t)
Y=sim(net,p)
隐含层数通常取输入层数的1.2~1.5倍,但隐含层数增加相对训练效果会好些。
输出结果是根据你的T决定的,你这个如果训练效果好的话输出值的和就为1。
具体如下:library(AMORE)
x1 <- round(runif(2000,1,2000)) #随机生成2000个数
x2 <- round(runif(2000,1,2000))
x11 <- scale(x1[1:1900])#数据标准化,并选取1900个组作为学习集
x12 <- scale(x2[1:1900])
x21 <- scale(x1[1901:2000]) #选取100组作为待测集
x22 <- scale(x2[1901:2000])