问题标签 [k-fold]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
131 浏览

python - 我需要为 K-Fold 交叉验证中的每个折叠创建一个新的分类器吗?

我正在尝试训练分类器来检测命令。我的数据中有 2000 个命令和 2000 个非命令。我使用 4000 (400) 个句子中的 10% 作为我的测试集,其余 3600 个句子作为分类器的训练集。我尝试应用 K-Fold 交叉验证的概念。我的部分代码如下:

我将相同的训练动作重复了 10 次(我在代码中只显示了 4 次),因为 10 个不同的数据部分需要至少一次作为 K 折交叉验证的验​​证数据。

我在这里遇到的问题是我不知道每次我是否应该创建一个新的分类器(classifier = nltk.NaiveBayesClassifier.train(train_set)),对其进行训练并计算每个单独分类器的平均准确度得分作为准确度得分。或者我应该只用新数据训练之前训练的分类器(就像我现在所做的那样),所以最后一个分类器将是训练 10 次的分类器?

0 投票
1 回答
177 浏览

pandas - 通过定时数据和交叉验证避免数据泄漏


我正在使用Kobe Bryant Dataset
我希望预测shot_made_flagwith KnnRegressor
我试图通过按 、 和 对数据进行分组来避免season数据year泄漏month
season是预先存在的列,year并且month是我添加的列,如下所示:

这是我的功能预处理代码的完整代码:

然后我使用以下方法缩放了数据MinMaxScaler

season并按上述,year等分组month

我的任务是使用分数 KFold找到最好的 K。 这是我的实现:roc_auc

我不确定在这种情况下我是否正确处理了数据泄漏因为如果我积累上一季的数据然后将其传递给cross_val_score我可能会因为 cv 可以拆分而导致数据泄漏以某种方式测试新赛季数据和上赛季数据的数据我就在这里吗?如果是这样,我想知道如何处理这种情况,在这种情况下,我想用这个定时数据K-Fold找到最好的,而不会泄露数据。使用拆分数据而不是按游戏日期拆分以避免数据泄漏k是否明智?K-Fold

0 投票
1 回答
377 浏览

python - 在 CNN 分类的 10 倍交叉验证中,如何防止一个倍比其他 9 倍表现差很多

我目前正在 Keras 中研究用于 MRI 分类的 2D CNN。班级比例约为 60/40,我有 155 名患者,每个患者都有一个 MRI,由大约 180 个切片组成,CNN 的输入是 MRI 图像的切片(256*256 px)(所以总共输入约为 27900图像,每个 256*256 像素)。

我测试了不同的模型,并总是使用混洗分层 10 折交叉验证和 EarlyStopping 监视器对它们进行评估,它们都表现得非常好,验证准确率约为 95% 到 98%。但是每次,一到两次的表现都比其他的差很多(70% 到 80% 的验证准确率)。由于褶皱是随机的,我希望褶皱的表现都一样好。

有人可以解释这是如何发生的以及如何防止它吗?

准确度和损失图:

训练准确度和验证准确度

训练损失和验证损失

这是其中一个模型的一部分:

0 投票
1 回答
136 浏览

machine-learning - RankLib 中的 k 折交叉验证

我想对 MQ20​​08 数据集进行 5 折交叉验证。我正在使用 RankLib 在数据集上应用 ML 算法。我对 Ranklib 中为交叉验证给出的 kcv 选项感到困惑。使用的命令:

在这里,我们为训练、测试和验证指定了不同的文件。然后是如何划分数据以进行 5 折交叉验证。

0 投票
1 回答
238 浏览

python - 使用具有特定集群的 sklearn 进行 K 折叠,而不是使用特定大小进行拆分

我想在 python 中使用 sklearn 进行 K 折交叉验证。我的数据有 8 个用户,我只对一个用户的数据进行 K 折。是否可以在用户之间进行交叉验证?例如使用7 个用户作为训练集,1 个用户作为测试集,并在这 8 个不同的场合这样做?

0 投票
1 回答
69 浏览

python - Kfold,cross_val_score:根据什么数据显示输出(sklearn wrapper)?

我无法理解的输出

xgb.cv 的输出很清楚 - 有训练和测试分数:

但是 Sk-learn 包装器中的 cross_val_score 的结果是不明确的:它是每次折叠后的分数列表,但是: - test_data 还是 train_data 的结果?

0 投票
1 回答
6433 浏览

python-3.x - 在没有 sklearn 的情况下创建 Kfold 交叉验证集

我正在尝试使用训练集和测试集将我的数据拆分为 K-folds。我被困在最后:

我有一个数据集示例:

我已经成功创建了 5 折交叉验证的分区,输出为

现在我想创建具有 K-1 个训练数据和 1 个验证集的 K 个此类实例。

我正在使用这段代码:

我得到的输出是:

这是我得到的错误输出。

但我希望输出为

0 投票
1 回答
175 浏览

pyspark - 使用 pyspark 调整回归树模型的 k 折交叉验证

我正在尝试使用 k 折交叉验证来调整 pyspark 中生成的回归树。但是,从我目前所见,将 pyspark 的 CrossValidator 与 pyspark 的 DecisionTree.trainRegressor 结合起来是不可能的。这是相关的代码。

然后如何将 k 折交叉验证应用于回归器?

0 投票
1 回答
168 浏览

machine-learning - 前几次折叠的 F1 分数较低

我使用随机森林创建了一个分类模型。为了验证模型,我使用了 10 次拆分的 K-Fold 方法,并通过 f1-score 测量模型性能。当我执行此操作时,前几折的 f1 分数非常低,其余折的 f1 分数非常高。

我期望每次分组的得分范围相同。

代码:

并且 10 次拆分的 f1-score 列表是

0 投票
1 回答
461 浏览

python - Python for 具有多个变量的循环迭代

我正在同时对多个数据集执行 k 折验证。我正在使用KFoldfromsklearn进行 10 倍验证。基本上,这将数据集划分为 10 个部分,并在其中 9 个部分上训练分类器,然后在剩余的第 10 个部分测试结果,然后执行相同的例程,但将测试集切换为新的第 10 个分区,现在包含旧测试集在训练集中。我可以使用以下代码为单个数据集编写一个 for 循环:

其输出如下:

其中第一个数组是要从数组的初始数据集数组中使用的训练集的索引,第二个数组是测试集的索引。我可以让它正确地迭代一个数据集。但是,我将如何同时为多个数据集执行此操作?例如,如果我想使用来自多个集合的特定折叠创建一个分类器。我尝试了以下方法:

但我收到以下错误:ValueError: too many values to unpack (expected 4)