【问题标题】:How to take inversed indexes of dataset in 10 cross validation?如何在 10 次交叉验证中取数据集的倒排索引?
【发布时间】:2023-03-30 01:20:02
【问题描述】:

我在 db 中有一个数据集,其中包含行列表, 我想用平衡的数据进行十次交叉验证。 所以我使用了这个功能:

cvIndex <- createFolds(factor(df$BS), folds, returnTrain = T)

它返回十个平衡折叠的索引用于训练。

for i in n seq_along(cvIndex)) { trainIndex <- cvIndex[[i]] testIndex <- ???

我想为 testIndex 提供除用于训练之外的缺失索引。

【问题讨论】:

标签: r cross-validation fold


【解决方案1】:

我建议使用“caret”库中的 trainControl 函数来实现 k 折交叉验证。例如,通过以下命令,您可以将 10-fold corss-validation 设置为训练和测试方法。

控制

【讨论】:

  • 它是否提供了一个平衡的数据集?
  • 它将数据随机分成 10 份,并通过将它们提供给分类器,它们返回分类器的性能等。欲了解更多信息,请访问以下链接:machinelearningmastery.com/…
  • 不,如果你的数据不平衡,它会给你一个有偏差的训练集,所以我应该使用一个函数来平衡你的数据集
【解决方案2】:

我解决了,我真的建议在平衡 10 交叉验证中使用该函数,

all_index<-c(1:nrow(df)) testIndex<-setdiff(all_index,trainIndex)

那你就用

trainset <- df[trainIndex, ] # Set the training set testset <- df[testIndex, ] # Set the validation set

【讨论】:

    猜你喜欢
    • 2021-04-11
    • 2021-08-29
    • 2011-11-29
    • 2021-05-19
    • 2020-08-19
    • 2016-06-27
    • 1970-01-01
    • 2012-01-07
    • 2013-08-16
    相关资源
    最近更新 更多