使用 Caret 在 R 中创建 k 折 CV 的折叠

2024-02-19

我正在尝试使用以下位置提供的数据为几种分类方法/hiperparameters 制作 k 折 CVhttp://archive.ics.uci.edu/ml/machine-learning-databases/undocumented/connectionist-bench/sonar/sonar.all-data http://archive.ics.uci.edu/ml/machine-learning-databases/undocumented/connectionist-bench/sonar/sonar.all-data.

该集合由 208 行组成,每行有 60 个属性。我正在使用 read.table 函数将其读入 data.frame 中。

下一步是将我的数据分成 k 份,假设 k = 5。我的第一次尝试是使用

test <- createFolds(t, k=5)

我对此有两个问题。第一个是折叠的长度不相邻:

       Length Class  Mode   
Fold1 29     -none- numeric <br />
Fold2 14     -none- numeric <br />
Fold3  7     -none- numeric <br />
Fold4  5     -none- numeric <br />
Fold5  5     -none- numeric

另一个是,这显然根据属性索引分割了我的数据,但我想分割数据本身。我认为通过转置我的 data.frame,使用:

test <- t(myDataNumericValues)

但是当我调用 createFolds 函数时,它给了我这样的东西:

       Length Class  Mode   
Fold1 2496   -none- numeric <br />
Fold2 2496   -none- numeric <br />
Fold3 2495   -none- numeric <br />
Fold4 2496   -none- numeric <br />
Fold5 2497   -none- numeric

长度问题解决了,但它仍然没有相应地分割我的 208 数据。

我可以做什么?插入符号包可能不是最合适的吗?


请阅读?createFolds了解该函数的作用。它创建定义哪些数据的索引held out单独的折叠(请参阅返回相反的选项):

  > library(caret)
  > library(mlbench)
  > data(Sonar)
  > 
  > folds <- createFolds(Sonar$Class)
  > str(folds)
  List of 10
   $ Fold01: int [1:21] 25 39 58 63 69 73 80 85 90 95 ...
   $ Fold02: int [1:21] 19 21 42 48 52 66 72 81 88 89 ...
   $ Fold03: int [1:21] 4 5 17 34 35 47 54 68 86 100 ...
   $ Fold04: int [1:21] 2 6 22 29 32 40 60 65 67 92 ...
   $ Fold05: int [1:20] 3 14 36 41 45 75 78 84 94 104 ...
   $ Fold06: int [1:21] 10 11 24 33 43 46 50 55 56 97 ...
   $ Fold07: int [1:21] 1 7 8 20 23 28 31 44 71 76 ...
   $ Fold08: int [1:20] 16 18 26 27 38 57 77 79 91 99 ...
   $ Fold09: int [1:21] 13 15 30 37 49 53 74 83 93 96 ...
   $ Fold10: int [1:21] 9 12 51 59 61 62 64 70 82 87 ...

要使用它们来分割数据:

   > split_up <- lapply(folds, function(ind, dat) dat[ind,], dat = Sonar)
   > dim(Sonar)
   [1] 208  61
   > unlist(lapply(split_up, nrow))
   Fold01 Fold02 Fold03 Fold04 Fold05 Fold06 Fold07 Fold08 Fold09 Fold10 
       21     21     21     21     20     21     21     20     21     21 

功能train在此包中用于进行实际建模(您通常不需要自己进行分割。请参阅这一页 http://caret.r-forge.r-project.org/training.html).

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Caret 在 R 中创建 k 折 CV 的折叠 的相关文章

随机推荐

  • Powershell - 从 csv 文件获取行并输出到不同 csv 文件的更快方法

    我有一个包含大约 250 000 行的 csv 文件 此 csv 文件中的第一个标题是 营销活动参考代码 我还有一个需要在第一列中查找的活动参考代码列表 即 COLMABQ140 COLMABQ141 如果我在第一列中找到此活动参考代码 我
  • C# 如何在 GridView 上创建超链接 OnClick 事件?

    我在创建我想要的 GridView 时遇到问题 我希望用户进入网站并查看附加到数据库的 GridView 列是 ID InsertionTime Filepath ProccessedByUser现在我希望用户单击他 她想要处理的文件路径
  • 无法使用自动配置脚本在代理后面下载嵌入式 MongoDB

    我有一个使用 Maven 构建的 Spring Boot 项目 我打算在其中使用嵌入式 mongo db 我在 Windows 7 上使用 Eclipse 正如我在 Internet 选项 的 连接 选项卡中观察到的那样 我位于使用自动配置
  • 在 JavaScript 中,如何检测迭代器返回键值条目?

    考虑以下函数 当传递一个可迭代的东西时 该函数尝试实现通用行为 let f function thing if typeof thing Symbol iterator function for let key value of thing
  • 使用.Net Core创建UDP套接字

    如何创建一个 UDP 套接字以非阻塞方式接收本地端点中的数据 我不知道数据来自的远程端口 我在 Linux 中使用 NET Core 我认为我可以使用 ReceiveAsync 但它似乎无法以这种方式工作 我这样解决了这个问题 static
  • 应用程序配置不允许给定 URL

    我正在尝试根据以下内容创建 Facebook 登录页面this https developers facebook com docs facebook login getting started web 教程 我只改变了两行 appId 3
  • Openpyxl:如何在检查单元格是否包含特定值后复制行

    我有一个工作表 每周都会更新数千行 并且需要在过滤后从该工作表传输行 我正在使用当前代码查找具有所需值的单元格 然后将整行传输到另一张工作表 但保存文件后 出现 IndexError 列表索引超出范围 异常 我使用的代码如下 import
  • 如何在对话框片段上运行单元测试?

    我正在尝试为 DialogFragment 创建一个独立的单元测试 以便 DialogFragment 可以单独进行测试 我正在使用 FragmentScenario 启动 DialogFragment 现在我正在尝试确认是否显示对话框消息
  • 打包时Maven NumberFormatException

    在项目上运行 mvn package 或 mvn install deploy 时 我在 Windows PC 上遇到非常奇怪的错误 此错误仅发生在本机上 在我的笔记本电脑和其他计算机上一切正常 我曾经能够毫无问题地打包 安装项目 但现在甚
  • 从 TableViewCell 中删除 imageView 子层

    当我有图像时 我使用 CAGradientLayer 插入子图层 layer name Gradient cell imageView layer insertSublayer layer atIndex 0 当 ImageView 没有图
  • 没有 jQuery 的粘性侧边栏 javascript

    如何制作带有塞子的粘性垂直侧边栏 但是withoutjQuery 有没有任何片段 插件 我不需要它来支持旧版浏览器 我的意思不仅仅是位置 固定 它必须保持在同一个位置 然后当您滚动超过某个点时开始粘性 固定 然后它必须在停止点停止跟随 Li
  • Java:在线纸牌游戏库/类/例如[关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我正在寻找在线纸牌游戏的java示例解决方案 库 类 我有兴趣创建一个名为 非盈利 的游戏版本 千 h
  • iOS 项目的单元测试 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我对于 iOS 开发还是比较陌生的 对于任何类型的测试 除了编译 运行和检查你想到的任何东西 之外的测
  • 当表单操作属性为“#”(数字/井号/符号/字符)时,这意味着什么?

    当表格出现时 这意味着什么action属性是 数字 井号 符号 字符 当表单输入时会发生什么formaction属性设置为 这是否会阻止输入被提交到服务器
  • 用按位运算替换最低有效位

    用提供的位替换字节的最低有效位的最佳方法是什么 我知道如何检查和比较最后一位 例如使用 posix ffs 函数 但我想知道是否有性能更好的解决方案 而不检查替换位是 0 还是 1 该示例是用 python 伪代码编写的 但我将用 C 实现
  • web3.js如何搜索所有曾经创建的合约并查看地址

    我是 web3 js 和 Solidity 的新手 我的问题与我们在区块链上搜索的方式有关 如果我们知道合约地址 就很容易搜索特定合约 然而 我们如何使用最初用于创建合约的地址来查找和识别特定类型的合约 例如 我有一个合同 Contract
  • OSX Game Center:无法与帮助应用程序通信

    I m setting up Game Center for my OSX game but it can t authenticate player with the following error OSX 10 10 Yosemite
  • 计算页面大小和段大小

    在分页分段系统中 我们有32位的虚拟地址和12位的偏移量 11位的段和9位的页号 我们如何计算页面大小 最大段大小和最大段数 保留 12 位用于偏移量 因此页面大小为 2 12 4KB 9 位保留用于页号 因此每个段可以包含 2 9 512
  • 绘制具有颜色渐变的矩阵“光谱图”

    使用 STFT 短时傅立叶变换 后 输出是一个表示 3d 图的矩阵 就像 A X Y M A是输出矩阵 X是时间 Y是频率 第三维M是由像素颜色强度表示的幅度 如下图所示 频谱图2 https i stack imgur com mtWqb
  • 使用 Caret 在 R 中创建 k 折 CV 的折叠

    我正在尝试使用以下位置提供的数据为几种分类方法 hiperparameters 制作 k 折 CVhttp archive ics uci edu ml machine learning databases undocumented con