Questions tagged «cross-validation»

在模型拟合期间反复保留数据的子集,以便量化保留的数据子集上的模型性能。

2
“引导程序验证”(又称为“重采样交叉验证”)的程序是什么?
“ Bootstrap验证” /“重新采样交叉验证”对我来说是新手,但对此问题的答案进行了讨论。我收集到的数据涉及2种类型的数据:真实数据和模拟数据,其中通过替换重采样从真实数据生成给定的一组模拟数据,直到模拟数据的大小与真实数据相同。我可以想到两种使用此类数据类型的方法:(1)一次拟合模型,对许多模拟数据集进行多次评估;(2)使用许多模拟数据集中的每一个对模型进行多次拟合,每次针对实际数据进行评估。哪个(如果有)最好?

2
如何使用Cox比例风险模型进行交叉验证?
假设我已经针对一个数据集(模型构建数据集)中特定疾病的发生构建了一个预测模型,现在想检查该模型在新数据集(验证数据集)中的运行情况。对于使用Logistic回归构建的模型,我将根据从模型构建数据集获得的模型系数计算验证数据集中每个人的预测概率,然后在将某些概率按临界值二等分后,可以构建一个2x2的表格这样我就可以计算出真实的阳性率(敏感性)和真实的阴性率(特异性)。此外,我可以通过更改截止值来构建整个ROC曲线,然后获得ROC图的AUC。 现在假设我实际上有生存数据。因此,我在模型构建数据集中使用了Cox比例风险模型,现在想检查模型在验证数据集中的运行情况。由于基准风险不是Cox模型中的参数函数,因此我看不到如何基于在模型构建数据集中获得的模型系数来获得验证数据集中每个人的预测生存概率。那么,我该如何检查模型在验证数据集中的表现呢?有确定的方法可以做到这一点吗?如果是,它们是否在任何软件中实现?在此先感谢您的任何建议!

2
留一法交叉验证的高方差
我一遍又一遍地读到,由于训练折叠的大量重叠,“留一法”交叉验证具有很大的差异。但是,我不明白为什么这样:正是因为训练集几乎相同,交叉验证的性能不应该非常稳定(方差低)吗?还是我对“方差”的概念有完全错误的理解? 我也不太了解LOO如何保持公正,但差异很大?如果LOO估计值等于期望的真实估计值-那么它怎么会有高方差? 注意:我知道这里有一个类似的问题: 为什么关于误差的平均估计的留一法交叉验证(LOOCV)方差很高?但是,回答该问题的人稍后在评论中说,尽管提出了反对,但他已经意识到他的回答是错误的。

1
如果研究中验证准确性高而测试准确性低怎么办?
我对机器学习研究中的验证有一个特定的问题。 众所周知,机器学习机制要求研究人员在训练数据上训练他们的模型,通过验证集从候选模型中进行选择,并报告测试集的准确性。在非常严格的研究中,测试集只能使用一次。但是,它永远不可能成为研究方案,因为在发表(甚至提交)论文之前,我们必须提高性能,直到测试准确性优于最新结果为止。 现在出现了问题。假设50%是最先进的结果,而我的模型通常可以达到50--51的精度,平均而言更好。 但是,我的最佳验证准确性(52%)产生了非常低的测试准确性,例如49%。然后,如果我无法进一步提高验证acc,则必须报告49%的总体性能,这对我来说是没有希望的。这确实使我无法研究问题,但是对我的同伴来说并不重要,因为他们没有看到52%的符合率,我认为这是一个离群值。 那么,人们通常在研究中如何做? ps k-fold验证没有帮助,因为相同的情况仍然可能发生。


2
Scikit使用CalibratedClassifierCV校准分类器的正确方法
Scikit具有CalibratedClassifierCV,它使我们能够在特定的X,y对上校准模型。它还明确指出data for fitting the classifier and for calibrating it must be disjoint. 如果它们必须不相交,则对分类器进行以下训练是否合法? model = CalibratedClassifierCV(my_classifier) model.fit(X_train, y_train) 我担心使用相同的训练集会违反disjoint data规则。另一种可能是设置验证集 my_classifier.fit(X_train, y_train) model = CalibratedClassifierCV(my_classifier, cv='prefit') model.fit(X_valid, y_valid) 这样做的缺点是要保留较少的数据用于训练。另外,如果CalibratedClassifierCV只适合于适合其他训练集的模型,为什么默认选项为cv=3,也适合基本估计量?交叉验证是否可以自行处理不相交规则? 问题:使用CalibratedClassifierCV的正确方法是什么?

2
为什么scikit-learn引导程序功能会对测试集重新采样?
当使用自举进行模型评估时,我一直认为直接购买的样本可以直接用作测试集。但是,对于已弃用的 scikit-learnBootstrap方法来说似乎不是这种情况,该方法似乎是通过从图纸中提取测试数据来构建测试集,并替换了现成的数据子集。这背后的统计原因是什么?在某些特定情况下,该技术比仅对袋外样本进行评估更好,反之亦然吗?

3
如何进行数据扩充和训练验证拆分?
我正在使用机器学习进行图像分类。 假设我有一些训练数据(图像),并将其分为训练和验证集。我还想通过随机旋转和噪声注入来增强数据(从原始图像生成新图像)。扩充是离线完成的。 进行数据扩充的正确方法是哪种? 首先将数据分为训练和验证集,然后对训练和验证集进行数据扩充。 首先将数据分为训练集和验证集,然后仅对训练集进行数据扩充。 首先对数据进行数据扩充,然后将数据分为训练和验证集。

3
培训,测试,验证生存分析问题
我一直在这里浏览各种线程,但我认为我的确切问题没有得到回答。 我有约50,000名学生及其辍学时间的数据集。我将使用大量潜在的协变量进行比例风险回归。我还将对辍学/留学情况进行逻辑回归。主要目标是为新的学生群体做预测,但我们没有理由相信他们与去年的学生群体会有很大不同。 通常,我没有这么多的数据,并且通过某种形式的惩罚进行模型拟合,但是这次我想将int训练和测试数据集分离,然后在训练集上进行变量选择。然后使用测试数据集估算参数和预测能力。 这是个好策略吗?如果没有,哪个更好? 欢迎引用,但不是必须的。

4
在公共卫生政策研究中哪些案例研究滥用了不可靠/混杂/无效的研究或模型?
我正在起草有关当前混淆数据的当前公共卫生问题的文献综述: 在公共卫生/流行病学教育中使用哪些常见的历史案例研究,而在公共卫生政策和立法中有意或错误地使用了无效或混杂的关系或推论? 1960年代的汽车死亡人数激增以及随后由政府主导的基于证据的研究,该研究确定了安全带并最终要求安全气囊是法律所必需的,这是HOW公共卫生政策应由统计学上有效的推论和模型所驱动的一个很好的例子。 我更多地在寻找相反类型的案例(科学性很差,匆忙制定政策)。但是,如果没有别的什么,我想学习更多类似于先前为成功实现公共卫生利益而进行的有力研究的案例的案例。 我想以这些为例来说明基于证据的统计公共卫生研究对制定政策的重要性。

2
优化:统计中所有邪恶的根源?
我之前听过以下表达: “优化是统计中所有邪恶的根源”。 例如,该线程的最高答案是在选择模型时过于激进地进行优化的危险而做出该声明。 我的第一个问题是:这句话是否特别应归于任何人?(例如,在统计资料中) 据我了解,该声明涉及过拟合的风险。传统观点认为适当的交叉验证已经可以解决这个问题,但是看起来这个问题还不止于此。 即使遵循严格的交叉验证协议(例如100个嵌套的10倍CV),统计学家和ML实践者也应该警惕过度优化模型吗?如果是这样,我们如何知道何时停止搜索“最佳”模型?

6
如何拆分数据集以进行10倍交叉验证
已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 现在我有了一个R数据框(训练),有人可以告诉我如何随机拆分此数据集以进行10倍交叉验证吗?

3
R的启动程序包中cv.glm中的cost函数是什么?
我正在使用留一法进行交叉验证。我有一个二进制响应,并且正在使用R的引导程序包,并且 cv.glm函数。我的问题是我不完全了解此功能中的“费用”部分。从我的理解中,这是一个功能,它决定将估计值分类为1还是0,即分类的阈值。它是否正确? 并且,在R的帮助下,他们将此函数用于二项式模型:cost <- function(r, pi = 0) mean(abs(r-pi) > 0.5)。如何解释此功能?因此我可以正确修改它以进行分析。 感谢您提供任何帮助,不想使用我不了解的功能。

2
机器学习时间序列的排序
在阅读了RJ Hyndman的关于交叉验证和时间序列的“研究技巧”之一之后,我回到了我的一个老问题,我将在这里尝试表述。这个想法是,在分类或回归问题中,数据的排序并不重要,因此可以使用k倍交叉验证。另一方面,在时间序列中,数据的排序显然非常重要。 但是,当使用机器学习模型预测时间序列时,一种常见的策略是将序列为一组“输入-输出向量”,该向量在时间具有形式。{y1,...,yT}{y1,...,yT}\{y_1, ..., y_T\}ttt(yt−n+1,...,yt−1,yt;yt+1)(yt−n+1,...,yt−1,yt;yt+1)(y_{t-n+1}, ..., y_{t-1}, y_{t}; y_{t+1}) 现在,一旦完成了重塑,我们是否可以认为不需要对所得的“输入-输出向量”进行排序?例如,如果我们使用具有n个输入的前馈神经网络来“学习”这些数据,则无论我们向模型显示矢量的顺序如何,我们都将获得相同的结果。因此,我们是否可以使用k-fold交叉验证的标准方法,而无需每次都重新拟合模型?

2
AIC,BIC和GCV:在惩罚回归方法中做出决策的最佳方法是什么?
我的一般理解是AIC处理模型的拟合优度和模型的复杂性之间的权衡。 一个我C= 2 k - 2 l n (L )AIC=2k−2ln(L)AIC =2k -2ln(L) ķkk =模型中的参数数量 大号LL =可能性 贝叶斯信息准则BIC与AIC密切相关.AIC对参数数量的惩罚程度不如BIC。我可以看到这两个在历史上到处都有使用。但是广义交叉验证(GCV)对我来说是新的。GCV如何与BIC或AIC相关?这些标准如何一起或单独用于在像ridge这样的面板回归中选择惩罚项? 编辑: 这是一个思考和讨论的示例: require(lasso2) data(Prostate) require(rms) ridgefits = ols(lpsa~lcavol+lweight+age+lbph+svi+lcp+gleason+pgg45, method="qr", data=Prostate,se.fit = TRUE, x=TRUE, y=TRUE) p <- pentrace(ridgefits, seq(0,1,by=.01)) effective.df(ridgefits,p) out <- p$results.all par(mfrow=c(3,2)) plot(out$df, out$aic, col = "blue", type = "l", ylab = …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.