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模板網!

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

相關文檔推薦

主站蜘蛛池模板: 气动机械手-搬运机械手-气动助力机械手-山东精瑞自动化设备有限公司 | 芜湖厨房设备_芜湖商用厨具_芜湖厨具设备-芜湖鑫环厨具有限公司 控显科技 - 工控一体机、工业显示器、工业平板电脑源头厂家 | 防水接头-电缆防水接头-金属-电缆密封接头-不锈钢电缆接头 | 国产液相色谱仪-超高效液相色谱仪厂家-上海伍丰科学仪器有限公司 | 悬浮拼装地板_篮球场木地板翻新_运动木地板价格-上海越禾运动地板厂家 | 小威小说网 - 新小威小说网 - 小威小说网小说搜索引擎 | 一点车讯-汽车网站,每天一点最新车讯!| 污水处理设备,一体化泵站,一体化净水设备-「梦之洁环保设备厂家」 | 精密线材测试仪-电线电缆检测仪-苏州欣硕电子科技有限公司 | 丹佛斯变频器-Danfoss战略代理经销商-上海津信变频器有限公司 | 机床主轴维修|刀塔维修|C轴维修-常州翔高精密机械有限公司 | 空心明胶胶囊|植物胶囊|清真胶囊|浙江绿键胶囊有限公司欢迎您! | 高压互感器,电流互感器,电压互感器-上海鄂互电气科技有限公司 | 招商帮-一站式网络营销服务|搜索营销推广|信息流推广|短视视频营销推广|互联网整合营销|网络推广代运营|招商帮企业招商好帮手 | 综合管廊模具_生态,阶梯护坡模具_检查井模具制造-致宏模具厂家 | atcc网站,sigma试剂价格,肿瘤细胞现货,人结肠癌细胞株购买-南京科佰生物 | 雷蒙磨,雷蒙磨粉机,雷蒙磨机 - 巩义市大峪沟高峰机械厂 | 超声骨密度仪-动脉硬化检测仪器-人体成分分析仪厂家/品牌/价格_南京科力悦 | 厂房出租-厂房规划-食品技术-厂房设计-厂房装修-建筑施工-设备供应-设备求购-龙爪豆食品行业平台 | 东莞螺杆空压机_永磁变频空压机_节能空压机_空压机工厂批发_深圳螺杆空压机_广州螺杆空压机_东莞空压机_空压机批发_东莞空压机工厂批发_东莞市文颖设备科技有限公司 | IPO咨询公司-IPO上市服务-细分市场研究-龙马咨询 | 应急灯_消防应急灯_应急照明灯_应急灯厂家-大成智慧官网 | 铝机箱_铝外壳加工_铝外壳厂家_CNC散热器加工-惠州市铂源五金制品有限公司 | 利浦顿蒸汽发生器厂家-电蒸汽发生器/燃气蒸汽发生器_湖北利浦顿热能科技有限公司官网 | 高尔夫球杆_高尔夫果岭_高尔夫用品-深圳市新高品体育用品有限公司 | 黑龙江京科脑康医院-哈尔滨精神病医院哪家好_哈尔滨精神科医院排名_黑龙江精神心理病专科医院 | 拖鞋定制厂家-品牌拖鞋代加工厂-振扬实业中国高端拖鞋大型制造商 | 嘉兴恒升声级计-湖南衡仪声级计-杭州爱华多功能声级计-上海邦沃仪器设备有限公司 | 北京中创汇安科贸有限公司 | 深圳活动策划公司|庆典策划|专业公关活动策划|深圳艺典文化传媒 重庆中专|职高|技校招生-重庆中专招生网 | 广东健伦体育发展有限公司-体育工程配套及销售运动器材的体育用品服务商 | 欧盟ce检测认证_reach检测报告_第三方检测中心-深圳市威腾检验技术有限公司 | 视频直播 -摄影摄像-视频拍摄-直播分发| 德国EA可编程直流电源_电子负载,中国台湾固纬直流电源_交流电源-苏州展文电子科技有限公司 | 电动垃圾车,垃圾清运车-江苏速利达机车有限公司| 山东臭氧发生器,臭氧发生器厂家-山东瑞华环保设备 | 乐泰胶水_loctite_乐泰胶_汉高乐泰授权(中国)总代理-鑫华良供应链 | 木材烘干机,木炭烘干机,纸管/佛香烘干设备-河南蓝天机械制造有限公司 | 集装箱箱号识别_自重载重图像识别_铁路车号自动识别_OCR图像识别 | 真空包装机-诸城市坤泰食品机械有限公司 | Win10系统下载_32位/64位系统/专业版/纯净版下载 |