glm() 模型的交叉验证

2024-05-28

我正在尝试对我之前在 R 中构建的一些 glm 模型进行 10 倍交叉验证。我对cv.glm()函数在boot包,尽管我已经阅读了很多帮助文件。当我提供以下公式时:

library(boot)
cv.glm(data, glmfit, K=10)

这里的“数据”参数是指整个数据集还是仅指测试集?

到目前为止,我看到的示例提供了“数据”参数作为测试集,但这并没有真正意义,例如为什么在同一测试集上进行 10 倍?他们都会给出完全相同的结果(我想!)。

很遗憾?cv.glm以一种模糊的方式解释它:

数据:包含数据的矩阵或数据框。行应该是 案例和列对应于变量,其中之一是 回复

我的另一个问题是关于$delta[1]结果。这是 10 次试验的平均预测误差吗?如果我想获取每次折叠的错误怎么办?

我的脚本如下所示:

##data partitioning
sub <- sample(nrow(data), floor(nrow(x) * 0.9))
training <- data[sub, ]
testing <- data[-sub, ]

##model building
model <- glm(formula = groupcol ~ var1 + var2 + var3,
        family = "binomial", data = training)

##cross-validation
cv.glm(testing, model, K=10)

我对于使用各种包的10倍交叉验证方法总是有点谨慎。我有自己的简单脚本来为任何机器学习包手动创建测试和训练分区:

#Randomly shuffle the data
yourData<-yourData[sample(nrow(yourData)),]

#Create 10 equally size folds
folds <- cut(seq(1,nrow(yourData)),breaks=10,labels=FALSE)

#Perform 10 fold cross validation
for(i in 1:10){
    #Segement your data by fold using the which() function 
    testIndexes <- which(folds==i,arr.ind=TRUE)
    testData <- yourData[testIndexes, ]
    trainData <- yourData[-testIndexes, ]
    #Use test and train data partitions however you desire...
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

glm() 模型的交叉验证 的相关文章

  • 绘图不适合 R 窗口

    我正在使用metaR 中的包对比例进行荟萃分析 我的分析中有大约一百项研究 当我打字时forest result 创建我的森林图 它可以工作 但图形在顶部和底部被切掉 无论我做什么 它都不适合绘图窗口 我对如何解决这个问题感到困惑 有任何想
  • 将值添加到 R 中 for 循环内的向量

    我刚刚开始学习 R 我编写了这段代码来学习函数和循环 squared lt function x m lt c for i in 1 x y lt i i c m y return m squared 5 NULL 为什么这个返回NULL
  • R、GeoJSON 和 Leaflet

    我最近从 R Bloggers com 的帖子中了解了 leafletjs com 我想要实现的一个此类教程是使用传单创建交互式分区统计图 http leafletjs com examples choropleth html http l
  • glmnet R 包中的 cv.glmnet 出现“drop(y %*% rep(1, nc)) 错误”错误

    我有一个返回 cv glmnet 模型的 auc 值的函数 尽管不是大多数时间 但在执行 cv glmnet 函数时 它经常返回以下错误 下降误差 y 代表 1 NC 在为函数 drop 选择方法时评估参数 x 时出错 y 中的错误 rep
  • 展平 ggplot2 中的 alpha 通道

    ggplot2 的某些对象 函数 支持 alpha 通道 http docs ggplot2 org current geom point html http docs ggplot2 org current geom point html
  • ggplot2 的组合图(不在单个图中),使用 par() 或 layout() 函数? [复制]

    这个问题在这里已经有答案了 我一直在考虑使用 par 或 layout 函数来组合 ggplots 可以使用这些功能吗 假设我想绘制 ggplot 散点图和 ggplot 直方图 我想将这两个地块合并起来 而不是在一个地块中 是否适用 我在
  • 评估 R 中字符串指向的函数

    假设我有以下内容 x lt 1 10 squared lt function x x 2 y lt squared 我希望能够使用 y 定义的字符串来评估该函数 像 eval y 这样的东西 我知道这是错误的 但会返回 1 1 4 9 16
  • 将线条剪裁到绘图区域并在绘图区域外显示文本

    我想限制绘图的可见 y 范围 为了保留超出此范围的值 我需要设置oob 出界 to rescale none这效果很好 不过 我还想在图外的页边空白处添加一些文本 为了做到这一点 我需要关闭剪辑 这会导致超出范围的值被绘制在绘图区域之外的边
  • kafka主题分区的最大复制因子是多少

    我有一个 kafka 集群 有 3 个代理和几个主题 每个主题有 5 个分区 现在我想设置分区的复制因子 我可以为kafka主题分区设置的最大复制因子是多少 复制因子确定每个分区的复制数量 这允许 Kafka 自动故障转移到这些副本 当集群
  • 在 R 中将本地日期时间转换为 UTC

    如何将本地日期时间转换为以下格式 12 31 2014 6 42 52 PM R 中的 UTC 我试过这个 as POSIXct as Date 12 31 2014 6 42 52 PM format m d Y H M S tz UTC
  • 为 PDF 输出添加 natbib 选项

    有没有办法指定natibib输出 PDF 时的选项bookdown 我希望 tex 输出具有命令 usepackage sort compress natbib 但似乎没有任何方法可以在 YAML 中指定它 我无法将命令添加到我的序言中 因
  • 抑制 r markdown 中的控制台输出,但保留绘图

    嗨 我有以下降价块 r echo FALSE warning FALSE message FALSE error FALSE lapply obj function x plot x main some plot box axis 1 at
  • 不同的分位数:箱线图与小提琴图

    require ggplot2 require cowplot d iris ggplot2 ggplot d aes factor 0 Sepal Length geom violin fill black alpha 0 2 draw
  • 使用 roxygen2 记录数据集

    我正在尝试使用 roxygen2 记录 R 包中的一些数据集 仅考虑其中之一 I have mypkg data CpG human GRCh37 RDa 其中包含一个名为的对象CpG human GRCh37 和一个名为 mypkg R
  • 两个闪亮的操作按钮

    我正在编写一个闪亮的函数 其中包含两个操作按钮 这两个按钮是左右按钮 单击时可以帮助绘图移动 第一次单击时 这两个按钮都工作正常 当我重新单击它们时 就会出现问题 无论我单击哪个按钮 它都会在两个范围之间来回弹跳 我猜可能是 右 和 左 按
  • R Plotly 禁用图例单击和图例双击

    我想使用 R Plotly 从服务器端禁用绘图图例选择 我们看here https community plot ly t disable legend click functionality hiding traces 1345 2可以使
  • Sweave 缓存包

    我正在尝试编写一份报告 我的问题是每次我编译 R 时都会加载我在报告中使用的包 如 ggplot2 MASS cubature 这是非常耗时的 有没有办法查包裹 I found 缓存编织但它不起作用 这是我在 sweave 文件中添加的块
  • ts(x) 中的错误:“ts”对象必须有一个或多个观察结果

    当我使用进行预测时forecast库 我注意到以下代码没有按预期运行 library forecast library dplyr df1 lt data frame gp gl 20 5 dt seq 1 100 get lt funct
  • R 中整数向量的大小

    我原以为 R 有一个用于存储对象的标准开销 看起来是 24 字节 至少对于整数向量而言 但一个简单的测试表明它比我意识到的要复杂 例如 采用长度为 100 的整数向量 使用随机采样 希望避免任何可能存在的偷偷摸摸的序列压缩技巧 https
  • 在ggplot2中添加水平线到绘图和图例

    这段代码创建了一个漂亮的图 但我想在 y 50 处添加一条水平黑线 并让图例显示一条黑线 并在图例中显示文本 cutoff 但在图例中保留源点 我可以使用 geom line 添加该行 但无法在图例中获取该行 library ggplot2

随机推荐