1.演示使用的数据集为iris数据集
df<-iris
head(df)
2.载入RSNNS包
library(RSNNS)
3.对数据进行预处理,将目标变量Specie转换为one_hot矩阵形式
df<-cbind(df,decodeClassLabels(df$Species))
head(df)
4.对输入的X矩阵数据进行归一化(神经网络 对于数据的输入值的区间有要求的,一般使用标准正太分布归一化)
for(i in 1:4){
df[,i]<-scale(df[,i])}
head(df)
5.使用随机树种子123,对数据按7:3的比例化分为训练集和测试集。
set.seed(123)
sam<-sample(nrow(df),nrow(df)*0.7)
dftrain<-df[sam,]
dftest<-df[-sam,]
6.使用mlp函数建立bp神经网络模型
mobp<-mlp(as.matrix(dftrain[,1:4]),as.matrix(dftrain[,6:8]),size=4,
learnFunc="SCG"