pbootcms网站模板|日韩1区2区|织梦模板||网站源码|日韩1区2区|jquery建站特效-html5模板网

R語言交叉驗證的實現代碼

這篇文章主要介紹了R語言交叉驗證的實現,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下

k-折交叉驗證

k-折交叉驗證(K-fold cross-validation)是交叉驗證方法里一種。它是指將樣本集分為k份,其中k-1份作為訓練數據集,而另外的1份作為驗證數據集。用驗證集來驗證所得分類器或者模型的錯誤率。一般需要循環k次,直到所有k份數據全部被選擇一遍為止。

有關交叉驗證的介紹可參考作者另一博文:
http://blog.csdn.net/yawei_liu1688/article/details/79138202

R語言實現

K折交叉驗證,隨機分組

數據打折-數據分組自編譯函數:進行交叉檢驗首先要對數據分組,數據分組要符合隨機且平均的原則


library(plyr)
CVgroup <- function(k,datasize,seed){
 cvlist <- list()
 set.seed(seed)
 n <- rep(1:k,ceiling(datasize/k))[1:datasize]  #將數據分成K份,并生成的完成數據集n
 temp <- sample(n,datasize)  #把n打亂
 x <- 1:k
 dataseq <- 1:datasize
 cvlist <- lapply(x,function(x) dataseq[temp==x]) #dataseq中隨機生成k個隨機有序數據列
 return(cvlist)
}

k <- 10
datasize <- nrow(iris)
cvlist <- CVgroup(k = k,datasize = datasize,seed = 1206)
cvlist

結果輸出示例:

輸出示例

K折交叉驗證
第一種方法:循環語句寫驗證


data <- iris
pred <- data.frame()  #存儲預測結果
library(plyr)
library(randomForest)
m <- seq(60,500,by = 20) #如果數據量大盡量間隔大點,間隔過小沒有實際意義
for(j in m){  #j指的是隨機森林的數量
 progress.bar <- create_progress_bar("text") #plyr包中的create_progress_bar函數創建一個進度條,
 progress.bar$init(k)  #設置上面的任務數,幾折就是幾個任務
 for (i in 1:k){
  train <- data[-cvlist[[i]],] #剛才通過cvgroup生成的函數
  test <- data[cvlist[[i]],]
  model <-randomForest(Sepal.Length~.,data = train,ntree = j)  #建模,ntree=j 指的樹數
  prediction <- predict(model,subset(test,select = -Sepal.Length))  #預測
  randomtree <- rep(j,length(prediction))  #隨機森林樹的數量
  kcross <- rep(i,length(prediction))  #i是第幾次循環交叉,共K次
  temp <- data.frame(cbind(subset(test,select = Sepal.Length),prediction,randomtree,kcross))#真實值、預測值、隨機森林樹數、預測組編號捆綁在一起組成新的數據框tenp
  pred <- rbind(pred,temp)  #temp按行和pred合并
  print(paste("隨機森林:",j)) #循環至樹數j的隨機森林模型
  progress.bar$step() #輸出進度條。告知完成了這個任務的百分之幾
 }
}

結果輸出示例1:

輸出示例

結果輸出示例2:指標分別為真實值、預測值、隨機森林樹數、預測組編號

這里寫圖片描述

第二種方法:apply家族lapply
當測試的循環數較多或單任務耗時較多時,apply家族優勢特別明顯


data <- iris
library(plyr)
library(randomForest)
k = 10
j <- seq(10,10000,by = 20)  #j樹的數量
i <- 1:k  #K折
i <- rep(i,times = length(j))
j <- rep(j,each = k)  #多少折,each多少
x <- cbind(i,j)
cvtest <- function(i,j){
 train <- data[-cvlist[[i]],]
 test <- data[cvlist[[i]],]
 model <- randomForest(Sepal.Length~.,data = train,ntree = j)
 prediction <- predict(model,subset(test,select = -Sepal.Length))
 temp <- data.frame(cbind(subset(test,select = Sepal.Length),prediction))
}

結果輸出示例3:指標分別為真實值、預測值、隨機森林樹數、預測組編號

這里寫圖片描述


system.time(pred <- mdply(x,cvtest))  

這里寫圖片描述

mdyly在plyr包中:輸出三個指標:“用戶”“系統”“流逝”。其中“流逝”應該是這段代碼從開始到結束的真正時間。對于一般單線程的程序來說這個時間近似于用戶時間和系統時間之和,可以看出共運行了1386秒。

到此這篇關于R語言交叉驗證的文章就介紹到這了,更多相關R語言交叉驗證的實現代碼內容請搜索html5模板網以前的文章希望大家以后多多支持html5模板網!

【網站聲明】本站部分內容來源于互聯網,旨在幫助大家更快的解決問題,如果有圖片或者內容侵犯了您的權益,請聯系我們刪除處理,感謝您的支持!

相關文檔推薦

主站蜘蛛池模板: 多功能干燥机,过滤洗涤干燥三合一设备-无锡市张华医药设备有限公司 | 磁力去毛刺机_去毛刺磁力抛光机_磁力光饰机_磁力滚抛机_精密金属零件去毛刺机厂家-冠古科技 | 铝单板_铝窗花_铝单板厂家_氟碳包柱铝单板批发价格-佛山科阳金属 | 洗砂机械-球磨制砂机-洗沙制砂机械设备_青州冠诚重工机械有限公司 | 飞扬动力官网-广告公司管理软件,广告公司管理系统,喷绘写真条幅制作管理软件,广告公司ERP系统 | 不锈钢酒柜|恒温酒柜|酒柜定制|酒窖定制-上海啸瑞实业有限公司 | 飞象网 - 通信人每天必上的网站 全球化工设备网—化工设备,化工机械,制药设备,环保设备的专业网络市场。 | 瓶盖扭矩仪(扭力值检测)-百科| 山东彩钢板房,山东彩钢活动房,临沂彩钢房-临沂市贵通钢结构工程有限公司 | 上海办公室设计_办公楼,写字楼装修_办公室装修公司-匠御设计 | 德国EA可编程直流电源_电子负载,中国台湾固纬直流电源_交流电源-苏州展文电子科技有限公司 | 真空包装机-诸城市坤泰食品机械有限公司 | 换链神器官网-友情链接交换、购买交易于一体的站长平台 | 膏剂灌装旋盖机-眼药水灌装生产线-西林瓶粉剂分装机-南通博琅机械科技 | 电动高尔夫球车|电动观光车|电动巡逻车|电动越野车厂家-绿友机械集团股份有限公司 | 字典-新华字典-在线字典查字-字典趣| 液氮罐_液氮容器_自增压液氮罐-北京君方科仪科技发展有限公司 | 外贮压-柜式-悬挂式-七氟丙烷-灭火器-灭火系统-药剂-价格-厂家-IG541-混合气体-贮压-非贮压-超细干粉-自动-灭火装置-气体灭火设备-探火管灭火厂家-东莞汇建消防科技有限公司 | 分类168信息网 - 分类信息网 免费发布与查询| 深圳市源和塑胶电子有限公司-首页| 嘉兴泰东园林景观工程有限公司_花箱护栏 | Eiafans.com_环评爱好者 环评网|环评论坛|环评报告公示网|竣工环保验收公示网|环保验收报告公示网|环保自主验收公示|环评公示网|环保公示网|注册环评工程师|环境影响评价|环评师|规划环评|环评报告|环评考试网|环评论坛 - Powered by Discuz! | 爱科技iMobile-专业的科技资讯信息分享网站 | 天一线缆邯郸有限公司_煤矿用电缆厂家_矿用光缆厂家_矿用控制电缆_矿用通信电缆-天一线缆邯郸有限公司 | 车载加油机品牌_ 柴油加油机厂家| 谷梁科技| 厂厂乐-汇聚海量采购信息的B2B微营销平台-厂厂乐官网 | 立式壁挂广告机厂家-红外电容触摸一体机价格-华邦瀛 | 菲希尔FISCHER测厚仪-铁素体检测仪-上海吉馨实业发展有限公司 | 渣油泵,KCB齿轮泵,不锈钢齿轮泵,重油泵,煤焦油泵,泊头市泰邦泵阀制造有限公司 | 阴离子_阳离子聚丙烯酰胺厂家_聚合氯化铝价格_水处理絮凝剂_巩义市江源净水材料有限公司 | 阴离子聚丙烯酰胺价格_PAM_高分子聚丙烯酰胺厂家-河南泰航净水材料有限公司 | 亳州网络公司 - 亳州网站制作 - 亳州网站建设 - 亳州易天科技 | 流水线电子称-钰恒-上下限报警电子秤-上海宿衡实业有限公司 | 北京公司注册_代理记账_代办商标注册工商执照-企力宝 | 专业广州网站建设,微信小程序开发,一物一码和NFC应用开发、物联网、外贸商城、定制系统和APP开发【致茂网络】 | 北京西风东韵品牌与包装设计公司,创造视觉销售力! | 北京网站建设首页,做网站选【优站网】,专注北京网站建设,北京网站推广,天津网站建设,天津网站推广,小程序,手机APP的开发。 | 佛山商标注册_商标注册代理|专利注册申请_商标注册公司_鸿邦知识产权 | 无压烧结银_有压烧结银_导电银胶_导电油墨_导电胶-善仁(浙江)新材料 | 烟气在线监测系统_烟气在线监测仪_扬尘检测仪_空气质量监测站「山东风途物联网」 |