R语言实现神经网络(1)

复制代码
#R语言实现神经网络
library(neuralnet)
library(caret)
library(MASS)
library(vcd)
data(shuttle)
str(shuttle)#因变量use;
table1<-structable(wind+magn~use,shuttle)
mosaic(table1,shading=T)
mosaic(use~error+vis,shuttle)
prop.table(table(shuttle$use,shuttle$stability))#用来计算两个变量 shuttle$use 和 shuttle$stability 之间频率表的函数
#数据准备
#虚拟变量
dummies<-dummyVars(use~.,shuttle,fullRank=T)
#虚拟变量预测现有数据
shuttle.2=as.data.frame(predict(dummies,newdata=shuttle))
names(shuttle.2)
shuttle.2$use<-ifelse(shuttle$use=="auto",1,0)
#拆分测试集和训练集
set.seed(123)
trainIndex<-createDataPartition(shuttle.2$use,p=0.7,list=F)
shuttleTrain<-shuttle.2[trainIndex,]
shuttleTest<-shuttle.2[-trainIndex,]
#模型构建
n<-names(shuttleTrain)
form<-as.formula(paste("use~",paste(n[!n %in% "use"],collapse = "+")))
fit<-neuralnet(form,data=shuttleTrain,
               hidden = c(3, 3),#第一个隐藏层有3个神经元,第二个隐藏层有3个神经元
               err.fct = "ce",#默认sse,因为此处是二值结果,所以选择ce
               linear.output = F,#是否忽略act.fct
               likelihood=TRUE)
fit$result.matrix
plot(fit)
par(mfrow=c(1,2))
gwplot(fit,selected.covariate="magn.Out")
gwplot(fit,selected.covariate="wind.tail")
#预测
resultsTrain<-compute(fit,shuttleTrain[,1:10])
predTrain<-resultsTrain$net.result
predTrain<-ifelse(predTrain>=0.5,1,0)
table(predTrain,shuttleTrain$use)
#在测试集上的结果
resultsTest <- compute(fit, shuttleTest[,1:10])
predTest <- resultsTest$net.result
predTest <- ifelse(predTest >= 0.5, 1, 0)
table(predTest, shuttleTest$use)
which(predTest == 0 & shuttleTest$use ==1)

参考文献:《精通机器学习-基于R(第二版)》

相关推荐
shootero@126.com25 分钟前
R语言开发记录,一
开发语言·r语言
weisian1511 小时前
人工智能-基础篇-10-什么是卷积神经网络CNN(网格状数据处理:输入层,卷积层,激活函数,池化层,全连接层,输出层等)
人工智能·神经网络·cnn
IT古董10 天前
【第二章:机器学习与神经网络概述】02.降维算法理论与实践-(1)主成分分析(Principal Component Analysis, PCA)
神经网络·算法·机器学习
丶Darling.10 天前
深度学习与神经网络 | 邱锡鹏 | 第五章学习笔记 卷积神经网络
深度学习·神经网络·学习
丶Darling.10 天前
深度学习与神经网络 | 邱锡鹏 | 第七章学习笔记 网络优化与正则化
深度学习·神经网络·学习
丶Darling.10 天前
深度学习与神经网络 | 邱锡鹏 | 第六章学习笔记 循环神经网络
深度学习·神经网络·学习
全栈派森10 天前
机器学习第六课: 卷积神经网络
后端·深度学习·神经网络
IT古董10 天前
【第二章:机器学习与神经网络概述】03.类算法理论与实践-(2)朴素贝叶斯分类器
神经网络·算法·机器学习
IT古董10 天前
【第二章:机器学习与神经网络概述】03.类算法理论与实践-(1)逻辑回归(Logistic Regression)
神经网络·算法·机器学习
野生的程序媛11 天前
第三章 卷积神经网络
人工智能·rnn·深度学习·神经网络·机器学习·语言模型·cnn