今天再用逻辑斯特回归做模式识别作业,忽然发现了神经网络包 ,遂看了一下 持续更新
#载入DMwR包
library(DMwR)
#载入nnet(神经网络)包
library(nnet)
#利用read.table读取数据
original.data = read.table("E:/MyDownloads/dataset/dataset/test.data",header = FALSE,sep = " ")
#给第11列命名为“label"
colnames(original.data)[11] ="label"
#for(i in 1:nrow(original.data)){
# if(original.data[i,"label"] == 1)
# original.data[i,"label"] = "a"
# if(original.data[i,"label"] == -1)
# original.data[i,"label"] = "b"
#}
#调用神经网络函数
nn <- nnet(label~.,original.data, size = 10, decay = 0.01,
maxit = 1000, linout = T, trace = F)
norm.preds <- predict(nn, original.data)
norm.preds[which(norm.preds>0)] = 1
norm.preds[which(norm.preds<0)] = -1
a =table(norm.preds,original.data$label)
head(a)
#linout 默认是逻辑输出, T为线性输出
#maixt 最大迭代次数
#size 隐层数量