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

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

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

 1   library(nnet)
 2   data<-read.csv("tomcat_done_1.csv",header=T)
 3
 4   total_size <-363
 5   test_size <- 90
 6
 7   train=sample(1:dim(data)[1],total_size-test_size)
 8
 9   train_set<- data[train,]
10
11   test<-data[-train,1:35]
12
13   test_effort<- data[-train,36]
14
15   count <-0
16
17
18   m<-nnet(Effort~.,train_set,size=9,decay=0.015,maxit=10,linout=T,trace=F,MaxNWts=8000)
19
20   preds <- predict(m,test)
 1   library(neuralnet)
 2   data<-read.csv("tomcat_done_2.csv",header=T)
 3
 4   total_size <-363
 5   test_size <- 90
 6
 7   train=sample(1:dim(data)[1],total_size-test_size)
 8
 9   train_set<- data[train,]
10
11   test<-data[-train,1:35]
12
13   test_effort<- data[-train,36]
14
15   count <-0
16
17
18   m<-neuralnet(Effort~CountDeclClass+CountDeclClassMethod+CountDeclClassVariable
19                +CountDeclFunction+CountDeclInstanceMethod+CountDeclInstanceVariable
20                +CountDeclMethod+CountDeclMethodDefault+CountDeclMethodPrivate
21                +CountDeclMethodProtected+CountDeclMethodPublic+CountLine
22                +CountLineBlank+CountLineCode+CountLineCodeDecl+CountLineCodeExe
23                +CountLineComment+CountSemicolon+CountStmt+CountStmtDecl+CountStmtExe
24                +SumCyclomatic+SumCyclomaticModified+SumCyclomaticStrict+SumEssential
25                +MaxCyclomatic+MaxCyclomaticModified+MaxCyclomaticStrict+MaxEssential
26                +MaxNesting+AvgCyclomatic+AvgCyclomaticModified+AvgCyclomaticStrict
27                +AvgEssential+RatioCommentToCode,data = train_set,hidden = 2)
28
29
30
31   preds <- compute(m,test)

数据需要按照模型的格式要求进行预处理再输入,例如某些包要求label信息映射到[0,1]。多看手册以及原始论文了解优化方法,切记!

时间: 2024-10-31 09:29:08

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

R中常用数据挖掘算法包

数据挖掘主要分为4类,即预测.分类.聚类和关联,根据不同的挖掘目的选择相应的算法.下面对R语言中常用的数据挖掘包做一个汇总: 连续因变量的预测: stats包 lm函数,实现多元线性回归 stats包 glm函数,实现广义线性回归 stats包 nls函数,实现非线性最小二乘回归 rpart包 rpart函数,基于CART算法的分类回归树模型 RWeka包 M5P函数,模型树算法,集线性回归和CART算法的优点 adabag包 bagging函数,基于rpart算法的集成算法 adabag包 b

R(二): http与R脚本通讯环境安装

结合实际的工作环境,在开始R研究的时候,首先着手收集的就是能以Web方式发布R运行结果的基础框架,无耐的是,R一直以来常使用于个人电脑的客户端程序上,大家习惯性的下载R安装包,在自己的电脑上安装 --> 写算法 --> 运行 --> 以贴图或者文档的形式发表自己的作品.幸运的最终找着了一套这样的框架FastRWeb (Fast Interactive Web Framework for Data Mining Using R),参考 (http://www.rforge.net/Fast

缓存ovirt相关的rpm包到本地yum源中

日期:2015/9/17 - 2015/9/18 time 13:46 主机:tvm-yum 目的:缓存ovirt相关的rpm包到本地yum源中 操作内容: 一.基础 1.在已有base和eple包的基础上,根据ovirt的repo文件来下载rpm包到本地yum源中. 2.根据安装vdsm时候的log报错的内容来找到对应的rpm包 二.根据repo文件下载rpm包 1.从镜像中找一个url下载,整合成脚本执行 [[email protected] ovirt]# pwd /var/www/htm

『TensorFlow』函数查询列表_神经网络相关

神经网络(Neural Network) 激活函数(Activation Functions) 操作 描述 tf.nn.relu(features, name=None) 整流函数:max(features, 0) tf.nn.relu6(features, name=None) 以6为阈值的整流函数:min(max(features, 0), 6) tf.nn.elu(features, name=None) elu函数,exp(features) - 1 if < 0,否则featuresE

【R笔记】给R加个编译器——notepad++

R的日记-给R加个编译器 转载▼ R是一款强大免费且开源的统计分析软件,这是R的长处,可也是其“缺陷”的根源:不似商业软件那样user-friendly.记得初学R时,给我留下最深印象的不是其功能的强大(体会到的其实是),而是其简洁如一张白纸的操作界面,再加上复杂而劳累的一遍遍敲击键盘,感觉用其做一点点统计分析都是噩梦.时至今日,R的编译界面,我依然觉得是用过的软件中最烂的那类.一个这么好的软件为什么就不做一个好用的界面呢? 幸运的是,到目前已经有好几个第三方的编译器可以和R联接.用这些编译器有

\r、\n与\r\n

1.回车换行动作 当我们使用计算机写文章时,写到每行末尾,需要换到下一行继续写,包含着两个动作,一个叫回车,即回到本行行首:一个叫换行,即切换到新的一行.注意这是两个动作,而且这两个动作是完成此任务的最简形式.而现在敲的回车键其实包含了回车和换行两个动作,全称应叫回车换行,简称回车. 如下图: 2.回车换行存储 上面所说的是动作,而想要把打的文字存储起来就会涉及到如何把相应的回车换行符号存储起来的问题,方便下次打开时,会按照当前的格式显示,这就会应用到转义字符. 回车:Carriage Retu

R?e?q?u?e?s?t?、?R?e?q?u?e?s?t?.?F?o?r?m?和?R?e?q?u?e?s?t?.?Q?u?e?r?y?S?t?r?i?n?g?的?区?别

Request . Request.Form 和 Request.QueryString 的区别 request 本身是一个系统的静态对象,本身也可以作为数组调用,比如 request("abc") 就是获取 request 数组中键值 "abc" 对应的值,而这个数组又不是 固定的,而是多个数组的集合,其中包含了 (QueryString ,Form ,Cookies ,ClientCertificate,ServerVariables ) 这几个服务器 变量数组

关?于?h?i?b?e?r?n?a?t?e?中?双?向?外?键?关?联?o?n?e?-?t?o?-?o?n?e?的?p?r?o?p?e?r?t?y?-?r?e?f?=?的?问?题(转)

大家都知道hibernate中的one-to-one映射主要有两种策略,(1)一对一主键关联(单向和双向).(2)一对一外键映射(单项和双向).本文主要讲解一下,一对一外键映射中的双向问题,在此前先通过一个实例了解. person和idCard,是一种一对一的关系,其中   t_person表 id        name       idCard(unique) 1         张三 2         王五       1 其中王五是没有idcard,这也符合现实中的,有些人是没有身份证

神经网络相关名词解释

神经网络相关名词解释 这篇文章的目的是把之前概念理解的名词用公式记忆一下. 1. 正则化 1.0 过拟合 这是正则化主要解决的问题. 过拟合现象主要体现在accuracy rate和cost两方面: 1.模型在测试集上的准确率趋于饱和而训练集上的cost仍处于下降趋势 2.训练集数据的cost趋于下降但测试集数据的cost却趋于饱和或上升 1.1 L2正则化 L2正则化就是在代价函数后面再加上一个正则化项: C_0代表原始的代价函数,后面那一项就是L2正则化项,它是这样来的:所有参数w的平方的和