您的位置:首页 > 理论基础 > 计算机网络

【R】神经网络相关的R包

2016-06-29 15:40 483 查看
  本科毕业设计涉及用机器学习的方法训练预测模型,线性回归、SVM、RF等方法表现均不理想,于是需要用简单的神经网络方法做对比实验。在对NN的优化没有深入理解的情况下,直接调用了R包提供的接口,在此略作记录,供以后反思改进。

  主要用到了nnet、neuralnet、h2o这几个包,具体的建模、预测、优化的方法在手册中均能查到。nnet、neuralnet提供的都是单隐藏层的简单神经网络,h2o提供了DNN的方法。

library(nnet)
data<-read.csv("tomcat_done_1.csv",header=T)

total_size <-363
test_size <- 90

train=sample(1:dim(data)[1],total_size-test_size)

train_set<- data[train,]

test<-data[-train,1:35]

test_effort<- data[-train,36]

count <-0

m<-nnet(Effort~.,train_set,size=9,decay=0.015,maxit=10,linout=T,trace=F,MaxNWts=8000)

preds <- predict(m,test)


library(neuralnet)
data<-read.csv("tomcat_done_2.csv",header=T)

total_size <-363
test_size <- 90

train=sample(1:dim(data)[1],total_size-test_size)

train_set<- data[train,]

test<-data[-train,1:35]

test_effort<- data[-train,36]

count <-0

m<-neuralnet(Effort~CountDeclClass+CountDeclClassMethod+CountDeclClassVariable
+CountDeclFunction+CountDeclInstanceMethod+CountDeclInstanceVariable
+CountDeclMethod+CountDeclMethodDefault+CountDeclMethodPrivate
+CountDeclMethodProtected+CountDeclMethodPublic+CountLine
+CountLineBlank+CountLineCode+CountLineCodeDecl+CountLineCodeExe
+CountLineComment+CountSemicolon+CountStmt+CountStmtDecl+CountStmtExe
+SumCyclomatic+SumCyclomaticModified+SumCyclomaticStrict+SumEssential
+MaxCyclomatic+MaxCyclomaticModified+MaxCyclomaticStrict+MaxEssential
+MaxNesting+AvgCyclomatic+AvgCyclomaticModified+AvgCyclomaticStrict
+AvgEssential+RatioCommentToCode,data = train_set,hidden = 2)

preds <- compute(m,test)


数据需要按照模型的格式要求进行预处理再输入,例如某些包要求label信息映射到[0,1]。多看手册以及原始论文了解优化方法,切记!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: