问题标签 [cross-validation]

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 投票
1 回答
711 浏览

java - Java Weka:java.lang.ClassCastException

我在 Weka 上做这个简单的实验。我试图做简单的交叉验证,我得到了这个错误。以下是从输出生成的错误消息。

下面是我的编码

0 投票
1 回答
3752 浏览

python - 朴素贝叶斯的 K 折交叉验证

我正在尝试使用 sklearn 对我的朴素贝叶斯分类器进行 k 折验证

我从这个网站找到了一个代码,https://www.kaggle.com/wiki/GettingStartedWithPythonForDataScience/history/969。在示例中,分类器是 RandomForestClassifier,我想使用自己的朴素贝叶斯分类器,但我不太确定 fit 方法在这一行 probas = cfr.fit(train[traincv], target[traincv]).predict_proba 的作用(训练[testcv])

0 投票
1 回答
8761 浏览

python - 朴素贝叶斯分类器的 K 折交叉验证

我使用 nltk 创建了一个分类器,它将评论分为 3 个类 pos、neg 和 neu。

现在,我想做一个 10 倍交叉验证来测试分类器。我从 sklearn 中找到了一个示例。

我收到此错误

我不确定我传入的参数是否正确。

0 投票
5 回答
58749 浏览

python - 如何在带有朴素贝叶斯分类器和 NLTK 的 scikit 中使用 k 折交叉验证

我有一个小的语料库,我想使用 10 倍交叉验证来计算朴素贝叶斯分类器的准确率,怎么做。

0 投票
1 回答
2766 浏览

matlab - 如何使用 MATLAB 在 SVM 中获取预测值?

我正在尝试在 MATLAB 中获取预测列矩阵,但我不太清楚如何对其进行编码。我目前的代码是 -

问题是它实际上总共计算了 11 次准确度——每次折叠 10 次,最后一次平均计算。但是,如果我对每个折叠进行单独的预测并为每个循环打印pred,那么可以理解的准确性就会大大降低。

但是,我需要每行数据的预测值的列矩阵。关于如何修改代码的任何想法?

0 投票
4 回答
9797 浏览

python - scikit-learn中的随机分层k折交叉验证?

是否有任何内置方法可以让 scikit-learn 执行洗牌分层 k 折交叉验证?这是最常见的 CV 方法之一,我很惊讶我找不到内置的方法来做到这一点。

我看到cross_validation.KFold()有一个洗牌标志,但它没有分层。不幸cross_validation.StratifiedKFold()的是没有这样的选择,并且cross_validation.StratifiedShuffleSplit()不会产生不相交的折叠。

我错过了什么吗?这是计划好的吗?

(显然我可以自己实现)

0 投票
1 回答
2658 浏览

matlab - 在 libsvm matlab 中标记一个类以进行交叉验证

我想在 MATLAB 中使用 LibSVM 使用一类分类。

我想训练数据并使用交叉验证,但我不知道如何标记异常值。

例如,如果我有这些数据:

(前四个是1类的例子,其他四个是异常值的例子,只是为了交叉验证)

我使用以下方法训练模型:

我不确定使用哪个值来标记 1 类数据以及对异常值使用什么值。有人知道该怎么做吗?

提前致谢。-杰西卡

0 投票
2 回答
16750 浏览

r - 交叉验证 CART 模型

在一项作业中,我们被要求对 CART 模型执行交叉验证。我尝试使用 from 的cvFit函数,cvTools但收到一条奇怪的错误消息。这是一个最小的例子:

我看到的错误是:

traceback()

看起来这y是强制性的cvFit.default。但:

我究竟做错了什么?哪个包可以让我对 CART 树进行交叉验证,而无需自己编写代码?(我太懒了……)

0 投票
4 回答
9359 浏览

r - R中引导库的cv.glm中的成本函数

我正在尝试使用 R 中引导库中的交叉验证 cv.glm 函数来确定应用 glm 逻辑回归时错误分类的数量。

该函数具有以下签名:

前两个表示数据和模型,K 表示 k 折。我的问题是成本参数定义为:

成本:两个向量参数的函数,指定交叉验证的成本函数。成本的第一个参数应该对应于观察到的响应,第二个参数应该对应于广义线性模型的预测或拟合响应。cost 必须返回一个非负的标量值。默认值为均方误差函数。

我想对于分类来说,有一个返回错误分类率的函数是有意义的,例如:

这当然甚至在语法上都不正确。

不幸的是,我有限的 R 知识让我浪费了很多时间,我想知道是否有人能指出我正确的方向。

0 投票
1 回答
909 浏览

r - 在 R 中模拟缺失数据(即掩码数据)以测试插补精度

我想使用 SNP 基因型数据确定程序的插补准确性,因此我需要屏蔽一部分 SNP 调用以模拟缺失数据。

我一直在这个标记数据子集上测试我的代码(见下文)。列名是个人的名字。行名称是 SNP ID。数据集包含缺失数据(标记为 NA)。

我想使用 10 倍交叉验证来确定插补精度,所以我需要 R 来:

  1. 掩蔽 10% 的已知SNP,总共 10 次不同的时间(即 10 轮掩蔽)。

  2. 每一轮都需要掩盖一组不同的 SNP。

  3. 每个SNP 在这 10 轮中只应被掩蔽一次(例如,SNP S10_28619 将在 10 轮掩蔽中仅显示为“NA”一次)。

这是我一直在使用的代码:

该功能似乎适用于 foldno=1 到 9,但在 foldno=10 时不起作用。不会出现错误消息。注意:我在执行函数之前删除了列名和行名,以防止函数将它们视为“可屏蔽”项。

下面分别是 foldno=1、2、3 和 10 的输出:

foldno=10 不会掩盖数据集中的任何 SNP。

任何建议/反馈将不胜感激!我没有编程经验,所以如果我犯了明显的错误或提出“愚蠢”的问题,请原谅我。

其他尝试/想法:我尝试通过逐行运行来调试代码,但没有任何结果。我用另一个随机种子号运行代码,问题似乎不涉及我分配给 foldno 的值。矩阵的 [2,4] 中的 SNP 不会屏蔽,无论 foldno 和种子数如何。


对于任何有兴趣的人,这是我用于屏蔽的修改后的代码: