R语言建立神经网络过程

R语言建立神经网络过程_第1张图片

# 神经网络模型构建

# 设置工作空间
# 把“数据及程序”文件夹拷贝到F盘下,再用setwd设置工作空间
setwd("F:/数据及程序/chapter6/示例程序")
# 读取数据
trainData <- read.csv("./data/trainData.csv")

# 将class列转换为factor类型,例,transform(数据集,要进行的操作)

trainData <- transform(trainData, class = as.factor(class))
# 神经网络模型构建
library(nnet) # 加载nnet包
# 利用nnet建立神经网络,设定神经网络的输入节点数为 3,输出节点数为1,中间隐藏节点数为 10,权值的衰减参数为 0.05
nnet.model <- nnet(class ~ ele_ind + loss_ind + alarm_ind, trainData, 
                   size = 10, decay = 0.05)
summary(nnet.model)
# 建立混淆矩阵
confusion <- table(trainData$class, predict(nnet.model, trainData, 

                                            type = "class"))

>confusion
   
       0      1
  0
  202   3
  1  10    25

accuracy <- sum(diag(confusion)) * 100 / sum(confusion)
> accuracy
[1] 94.58333

# 保存输出结果
output_nnet.trainData <- cbind(trainData, predict(nnet.model, trainData, 

                                                  type = "class"))

#把预测结果与原先数据合并,并预测结果那一列命名为output

colnames(output_nnet.trainData) <- c(colnames(trainData), "OUTPUT")

write.csv(output_nnet.trainData, "./tmp/output_nnet.trainData.csv", 
          row.names = FALSE)



# 保存神经网络模型
save(nnet.model, file = "./tmp/nnet.model.RData")

。。。。。。。。。。。。。。。完。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。

其他transform()函数的小例子

transform(airquality, Ozone = -Ozone)
transform(airquality, new = -Ozone, Temp = (Temp-32)/1.8)

你可能感兴趣的:(R语言)