xgboost cross validation

news2024/9/30 14:51:48

在R中使用xgboost

假设X为训练数据,y为label,为0或者1.用xgboost建立分类模型代码如下
调用caret包中的createFolds方法,进行10倍交叉验证
最后画出AUC曲线

library(xgboost)
library(caret)
library(caTools)
library(pROC)

set.seed(123)
folds <- createFolds(y, k = 10)
cv = lapply(folds, function(x) {
  training_fold = X[-x, ]
  training_fold_y = y[-x]
  test_fold = X[x, ]
  test_fold_y = y[x]
  # we stick our XGBoost classifier in here
  classifier = xgboost(
  	data = as.matrix(training_fold), 
  	label = training_fold_y, 
  	nrounds = 100, 
  	verbose = 0,
  	params = list(objective = "binary:logistic", 
  				  eval_metric = "auc", 
  				  max_depth = 5,
  				  eta = 0.4, 
  				  min_child_weight = 7, 
  				  subsample = 0.8, 
  				  colsample_bytree = 0.9))
  y_predict = predict(classifier, newdata = as.matrix(test_fold)) # again need a matrix
  y_pred = (y_predict >= 0.5) # here we are setting up the binary outcome of 0 or 1
  roc <- roc(test_fold_y, y_predict)
  return(roc)
})

# plot
plot.roc(cv$Fold01, col = "#8DD3C7")
lines.roc(cv$Fold02, col = "#FFFFB3")
lines.roc(cv$Fold03, col = "#BEBADA")
lines.roc(cv$Fold04, col = "#FB8072")
lines.roc(cv$Fold05, col = "#80B1D3")
lines.roc(cv$Fold06, col = "#FDB462")
lines.roc(cv$Fold07, col = "#B3DE69")
lines.roc(cv$Fold08, col = "#FCCDE5")
lines.roc(cv$Fold09, col = "#D9D9D9")
lines.roc(cv$Fold10, col = "#BC80BD")
legend("bottomright", legend = paste0('Fold',1:10,': auc ',as.vector(unlist(lapply(cv, function(x) round(as.numeric(x$auc),2))))), 
       col = RColorBrewer::brewer.pal('Set3', n=10),
       lty = 1,
       box.lty=0, bg="transparent")

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2179894.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【北京迅为】《STM32MP157开发板嵌入式开发指南》- 第十一章 Linux 帮助手册讲解

iTOP-STM32MP157开发板采用ST推出的双核cortex-A7单核cortex-M4异构处理器&#xff0c;既可用Linux、又可以用于STM32单片机开发。开发板采用核心板底板结构&#xff0c;主频650M、1G内存、8G存储&#xff0c;核心板采用工业级板对板连接器&#xff0c;高可靠&#xff0c;牢固耐…

3DGS中Densification梯度累计策略的改进——绝对梯度策略(Gaussian Opacity Fields)

在学习 StreetGS 代码中发现了其中的 Densification 策略与原 3DGS 不太一样&#xff0c;其是使用的 Gaussian Opacity Fields 中的一个的策略 我们先来回忆一下 3DGS 中一个比较重要 contribution&#xff1a;自适应密度控制 1 自适应密度控制 其具体步骤如下&#xff1a; …

概率论——随机分布

离散型——二项分布 X ~ B&#xff08;n , p&#xff09; 例题&#xff1a; 例题二&#xff1a; 离散型——泊松分布 例题 注意&#xff1a;记住题二的结论&#xff01;&#xff01;&#xff01; 连续性——均匀分布 例题&#xff1a;求解概率密度&#xff08;具体方法见随机…

请问PMP英文报名被审查该怎么通过?

审核抽查是随机进行的&#xff08;一般概率约为30%&#xff09;&#xff0c;并非所有人都会接受资料抽查。如果您报考了机构&#xff0c;他们会协助您解决这个问题。 一、资料审查&#xff1a; 如果被PMI选中进行审查&#xff0c;这是正常情况&#xff0c;不必惊慌。如果你参…

要洞察数字化本质,才能形成破局之道...

在深入探索数字化转型的突破路径之前&#xff0c;首要之务是构筑对数字化及其转型过程的深刻而准确的认知体系。唯有透彻理解数字化的内在本质&#xff0c;精准把握数字化转型的演变规律&#xff0c;方能引领数字化转型的航向&#xff0c;确保数字化工具与策略得以高效、精准地…

(一)万字详解G1垃圾收集器 —G1的设计目标是什么?G1的分区是什么?卡表的作用和工作原理?如何解决漏标问题?

一、G1垃圾收集器简介 G1 GC&#xff08;Garbage-First Garbage Collector&#xff09;是一款先进的垃圾收集器&#xff0c;通过 -XX:UseG1GC 参数启用。它首次亮相于JDK 6u14版本&#xff0c;并在JDK 7u4中正式发布。对于熟悉JVM的开发者而言&#xff0c;G1已是一个广为人知的…

测试卡(1)灰卡

#灵感# 灰卡为什么是18%&#xff1f;文章分为三部分&#xff0c;前部分&#xff0c;解释灰卡的定义&#xff0c;后部分是 市场买的18%灰卡的说明书&#xff0c;其中穿插了网络上搜到的灰卡使用案例。 目录 18% 中性灰卡应用说明 1&#xff09; 曝光水平 例子&#xff1a;用灰…

ppt模板如何制作?建议试试这4招

在追求效率和简洁的现代办公环境中&#xff0c;简约风格的PPT模板因其清晰、直观的特点而备受青睐。制作一个简约的PPT模板不仅能提升演示的专业感&#xff0c;还能帮助观众快速抓住重点。 今天&#xff0c;我来告诉大家&#xff1a;ppt模板简约怎么制作&#xff1f;让你能够利…

Kubernetes 节点何时处于就绪状态?

在 Kubernetes 中&#xff0c;节点&#xff08;Node&#xff09;是一个工作负载的基本单元&#xff0c;容器被部署和运行在这些节点上。每个 Kubernetes 节点在加入集群后都需要经过一定的健康检查和状态评估&#xff0c;才能被集群标记为“就绪”状态。这一过程的关键是节点的…

Linux相关概念和重要知识点(9)(父进程、子进程、进程状态)

1.父进程、子进程 &#xff08;1&#xff09;父进程 CLI本质上是一款命令行界面的软件&#xff0c;是用户调用接口层面的程序&#xff08;上层&#xff0c;可以和系统调用接口做沟通&#xff09;&#xff0c;CLI和GUI是同级别的。用户的操作都是建立在CLI和GUI之上的。 但是…

奔三理工男适合转行做AI算法工程师吗?

奔三男生转行可以做什么&#xff1f; 干了几年开发程序员却面临降薪优化&#xff1f; 说实话&#xff0c;如果学历一般技术一般&#xff0c; 无法与时俱进的话&#xff0c;会容易面临尴尬情况…… 就业这件事&#xff0c;选对赛道方向至关重要&#xff01;&#xff01; 这…

profinet转ethercat连接伺服在工业现场的配置案例

在工业通信领域&#xff0c;Profinet 转 EtherCAT 网关的应用为实现不同工业网络之间的通信提供了有效的解决方案。以下是一个关于 Profinet 转 EtherCAT 网关链接伺服配置的案例。 首先&#xff0c;我们需要准备好相关的硬件设备&#xff0c;包括 Profinet 转 EtherCAT 网关、…

Docker Desktop 安装Centos 7.9 使用yum install不可用问题

安装centos镜像并run之后&#xff0c;使用yum install 命令安装出现如下错误&#xff0c;可使用此命令替换mirror。 报错信息&#xff1a; Could not retrieve mirrorlist http://mirrorlist.centos.org/?release7&archaarch64&repoos&infracontainer error was…

2024第八届御网杯信息安全网络大赛线上WP详解(misc+cryoto)(详解-思路-脚本)

芜湖~ 首届御网杯线上和ISCC分开进行 但还是用的ISCC的页面差评 嘻嘻 又是玄乎的一天 以下是我自己的一些思路和解析 有什么问题或者建议随时都可以联系我 目录 附件 # Misc ##Notice ##编码转换 Brainfuck编码 jsfuck编码 Ook! 编码 ##bluetooth 导出压缩包 第一…

OpenGL 使用离屏渲染技术进行截图

文章目录 背景第三方库注意参考资料 一、离屏渲染&#xff08;一&#xff09;帧缓冲与帧缓冲对象&#xff08;FBO&#xff09;&#xff08;二&#xff09;附件&#xff08;Attachment&#xff09; 二、具体代码&#xff08;一&#xff09;主线程创建OpenGL窗口&#xff08;二&a…

python画图|自制渐变柱状图

在前述学习过程中&#xff0c;我们已经通过官网学习了如何绘制渐变的柱状图及其背景。 掌握一门技能的最佳检验方式就是通过实战&#xff0c;因此&#xff0c;本文尝试做一些渐变设计。 前述学习记录可查看链接&#xff1a; Python画图|渐变背景-CSDN博客 【1】柱状图渐变 …

CORE 中间件、wwwroot

ASP.NET Core中间件组件是被组装到应用程序管道中以处理HTTP请求和响应的软件组件&#xff08;从技术上来说&#xff0c;组件只是C&#xff03;类&#xff09;。 ASP.NET Core应用程序中的每个中间件组件都执行以下任务。 选择是否将 HTTP 请求传递给管道中的下一个组件。这可…

《C++》解密--单链表

目录 一、概念与结构 二、实现单链表 三、链表的分类 四、单链表算法题 一、概念与结构 1、节点 结点的组成主要有&#xff1a;当前结点要保存的数据和保存下一个节点的地址&#xff08;指针变量&#xff09; 图中指针变量plist保存的是第一个结点的地址&#xff0c;我们称p…

红日靶机(二)笔记

红日靶机二 环境搭建 只需要把虚拟机的 host-only&#xff08;仅主机&#xff09;网卡改为 10.10.10.0 网段&#xff0c;如下配置 把 NAT 网卡&#xff0c;改为 192.168.96.0 网段&#xff0c;如下 首先恢复到 v1.3 快照 让后点击放弃&#xff0c;放弃后再开机&#xff0c;用…

论文写作工具推荐小渡ai,MedSci,Open Access Library

1、知网作为写过论文或者即将要写论文的人&#xff0c;这个网站真的真的真的是你用的最多最多的网站。但是你一定不用自己充会员&#xff0c;因为你的学校肯定给你买了这个资料库&#xff0c;从学校图书馆的网页进去就行&#xff0c;或者你校外访问&#xff0c;就算是没有账号不…