gpt4 book ai didi

java - 如何实现10折交叉验证?

转载 作者:行者123 更新时间:2023-11-30 08:42:24 25 4
gpt4 key购买 nike

我有一个代码可以对数据集执行 10 倍交叉验证。该代码的创建方式是将数据分为 k-1 部分用于训练,其余部分用于测试。我想看看我的代码是否正确我的代码是:

 Dataset data = data1;
Dataset[] folds = data.folds((10), new Random(100));
Dataset training = new DefaultDataset();
Dataset testing = new DefaultDataset();
int[] tr = {0, 2, 3, 4,5, 6,7, 8, 9};
int[] te = {1};
for (int i = 0; i < tr.length; i++) {
training.addAll(folds[tr[i]]);
}
for (int i = 0; i < te.length; i++) {
testing.addAll(folds[te[i]]);
}

最佳答案

假设代码在行

data.folds((10), new Random(100));

正确采样了 10% 的数据,并将所有 10 个折叠返回到输出变量,分隔数据集看起来是正确的。

但是,您应该记住迭代 k 次以获得 k 倍交叉验证和平均结果。

k iterations for k fold cross validation

来源:https://en.wikipedia.org/wiki/Cross-validation_(statistics)#/media/File:K-fold_cross_validation_EN.jpg

关于java - 如何实现10折交叉验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53357462/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com