问题标签 [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 投票
2 回答
2028 浏览

python - 强制sklearn交叉val分数使用分层k折?

基于Sklearn 文档

  • 是否可以强制使用StratifiedKFold
  • 我怎么知道哪个KFold已被使用?
0 投票
1 回答
211 浏览

python - 与 cross_validate 和迭代 Kfolds 不同的 RMSE

我想编写自己的交叉验证函数,因为在这种情况下我不能使用 cross_validate。

如果我错了,请纠正我,但我的交叉验证代码是:

输出 :

所以我这样做是为了计算 RMSE。

结果始终在0.104左右

然后我编写了下面的函数来循环 kFolds,我总是得到一个低得多的 RMSE 分数(它的运行速度大约快 10 倍)

结果是0.0729并且总是落在这个值附近。

我错过了什么?相同的数据,相同的估算器,相同的折叠数量?

0 投票
0 回答
42 浏览

r - 在 K 折交叉验证过程中无法找到 MSE 值

我目前正在做一个 K 折交叉验证程序来确定该数据的最佳模型(线性或二次)。我的数据来自一个名为 combineData 的 CSV 数据集,我在下面粘贴了一个 dput:

到目前为止,我已经为线性和二次模型创建了我需要的所有模型 (K=5),并且我正处于尝试计算 MSE 和 R 平方值的阶段。这是以下过程的代码:

但是对于我计算第一个模型的 MSE 值的代码的最后一部分,我不断收到此错误:

错误:变量“poly(X1, poly_order)”配备了“nmatrix.1”类型,但提供了“nmatrix.2”类型另外:警告消息:在 Z/rep(sqrt(norm2[-1L]) 中,每个= length(x)) :较长的对象长度不是较短对象长度的倍数

我不知道该代码是什么意思或如何修复它。我已经多次检查了我的代码,但我没有发现我的 Model1 有任何问题。

编辑:使代码更短

0 投票
0 回答
32 浏览

r - 如何在 R 中找到模型上的特定点?

我正在使用一个名为 combineDataset 的 CSV 数据集,我找到了一个使用 k-fold 验证过程的模型。我的模型 x 值是小时计读数,而我的 y 值是累积成本。这是我的combinedDataset的一个dput:

这是我用来查找模型的代码:

这是模型的代码和绘图图片:

阴谋

使用此模型,我试图相应地预测“小时表读数”为 4000 和 8000 时的“累积成本”。是否有一个函数可以让我从我的模型中找到这些特定值?

我尝试使用打印我的模型得出的方程式将 4000 和 8000 插入 X 值,但我得到的数字非常高,看起来不正确,也不能正确融入情节。

0 投票
1 回答
52 浏览

python - 评估 k 折交叉验证中的准确性与保留数据

我观察到应用后的平均准确度Stratifiedkfold高于holdout data. 我想知道在这种情况下这是否可能是过度拟合的迹象,如果是这样,有人可以解释一下。

模型的准确率holdout约为 95.7%,Stratifiedkfold 集的准确率为 96.3%。

0 投票
1 回答
10211 浏览

python - 如何使用 accuracy_score(或其他建议的函数)测量 xgboost 回归器的准确性

我正在编写代码来解决一个简单的问题,即预测库存中物品丢失的概率。

我正在使用XGBoost预测模型来执行此操作。

我将数据拆分为两个 .csv 文件,一个包含训练数据,另一个包含测试数据

这是代码:

这是我尝试测量问题准确性的函数(使用 RMSE 和 accuracy_scores 函数并进行 KFold 交叉验证

但我遇到了一些问题。

上述准确性测试均无效。

使用RMSE函数和Accuracy函数时,出现如下错误: ValueError: Found input variables with contrast numbers of samples: [1350955, 578982]

我猜我使用的训练和测试数据拆分结构不正确。

由于我没有 y_test (而且我不知道如何在我的问题中创建它),我不能在函数的上述参数中使用它。

K 折叠验证也不起作用。

有人能帮助我吗?

0 投票
1 回答
41 浏览

python - 如何理解拆分数据的函数

有人可以帮我理解这个功能的作用吗?

我了解行打印,但在那之后我有点迷路了。从train_data.

0 投票
2 回答
309 浏览

python - 使用 sklearn.cross_validation.KFold() 在 Python 中使用 train_index 创建 K 数据帧,Kfold 交叉验证的 test_index

我使用 sklearn.cross_validation.KFold() 在 python 中使用 5 折交叉验证来查看我的模型如何执行。它在 4 折上表现良好,在某一特定折上表现非常差。由于我是数据科学的新手,我想知道如何从一个特定的折叠中检索数据,以便我可以查看该集合中的数据并弄清楚如何修复它。

0 投票
1 回答
495 浏览

machine-learning - 如何使用 TfidfVectorizer 应用 Kfold?

我在使用 Tfidf 应用 K 折交叉验证时遇到问题。它给了我这个错误

我见过其他有同样问题的问题,但他们使用的是 train_test_split() 这与 K-fold 有点不同

实际上,我发现问题出在哪里,但我找不到解决方法,基本上,当我们使用 cv/train 索引提取训练数据时,我们会得到一个稀疏矩阵列表

我尝试在拆分后对数据应用 Tfidf,但由于特征数量不一样,它不起作用。

那么有什么方法可以在不创建稀疏矩阵列表的情况下拆分 K 折数据?

0 投票
1 回答
1363 浏览

python-3.x - python中的Kfold交叉验证

我想做什么;获取 SVM 的 K 倍交叉验证分数。数据具有所有数值自变量和分类因变量。我使用 python3、sklearn 和特征引擎。

我对此事的理解;

自变量具有 NA 值,它们都低于总数据点的 5%,因此我使用训练集中的中值估算它们,因为变量不是正态分布的。我还使用测试集的值缩放了训练集和测试集的值。我的训练测试拆分为 80-20。

我知道仅使用训练集来缩放和估算数据是一种很好的做法。因为这有助于避免过度拟合和数据泄漏。

当谈到 Kfold 交叉验证时,训练集和测试集会发生变化。

问题;

有没有办法确保我可以根据每个折叠的训练集重新估算和重新缩放训练集和测试集?

任何帮助表示赞赏,谢谢!

使用随机种子进行训练测试拆分。K-Fold 交叉验证中使用相同的随机种子。

NA值估算;

变量变换;

下面是支持向量机;

然后我合并训练集和测试集,以获取转换后的数据集;

现在我拟合 X_Final,它是连接的训练和测试集,以获得 K-fold 交叉验证分数。

我想知道如何重新缩放和重新估算每个折叠,以便重新缩放变量,并使用训练集在每个折叠中重新估算 NA 值以避免过度拟合/数据泄漏