Questions tagged «cross-validation»

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

2
嵌套交叉验证的使用
Scikit Learn的“模型选择”页面提到了嵌套交叉验证的使用: >>> clf = GridSearchCV(estimator=svc, param_grid=dict(gamma=gammas), ... n_jobs=-1) >>> cross_validation.cross_val_score(clf, X_digits, y_digits) 并行执行两个交叉验证循环:一个由GridSearchCV估计器设置gamma,另一个由cross_val_score来测量估计器的预测性能。所得分数是对新数据的预测分数的无偏估计。 据我了解,clf.fit将原生使用交叉验证来确定最佳伽玛值。在那种情况下,为什么我们需要使用上面给出的嵌套cv?该说明提到嵌套的cv会生成预测分数的“无偏估计”。难道不是clf.fit吗? 另外,我无法从该cross_validation.cross_val_score(clf, X_digits, y_digits)过程中获得clf最佳估计。您能告诉我该怎么做吗?

1
训练与测试错误差距及其与过拟合的关系:调解相互矛盾的建议
关于如何处理火车与测试错误的比较,似乎存在相互矛盾的建议,尤其是当两者之间存在差距时。在我看来,似乎有两种流派。我想了解如何调和两者(或了解我在这里缺少的内容)。 思想#1:仅培训和测试集性能之间的差距并不表示过拟合 首先,(在这里也进行了讨论:训练和测试错误比较如何指示过度拟合?),仅火车和测试集之间的差异就不能表明过度拟合的想法。这与我在例如集成树方法方面的实践经验相吻合,在集成方法中,即使在基于交叉验证的超参数调整之后,训练误差和测试误差之间的差距仍会保持较大。但是(无论模型类型如何)只要您不会验证错误,就可以了。至少,这就是想法。 思想#2:当您看到培训和测试性能之间存在差距时:做一些可以防止过度拟合的事情 但是,您会从非常好的来源中看到一些建议,这些建议表明训练误差和测试误差之间的差距表明过度拟合。这是一个示例:Andrew Ng的“深度学习的要点”演讲(精彩演讲)https://www.youtube.com/watch?v=F1ka6a13S9I在大约48:00的时间戳上,他绘制了流程图表示“如果火车设置误差很小,而火车-dev设置误差很大,则应该添加正则化,获取更多数据或更改模型架构” ...这都是您可能要采取的应对过度拟合的措施。 带我去... :我在这里想念什么吗?这是特定于模型的经验法则吗(通常更简单的模型似乎在训练和测试之间的差距较小)?还是仅仅存在两种不同的思想流派?

2
k倍交叉验证如何适合训练/验证/测试集的背景?
我的主要问题是试图了解k倍交叉验证在具有训练/验证/测试集的情况下的适合度(如果完全适合这种情况)。 通常,人们会谈论将数据分为训练,验证和测试集-例如,每幅吴安德(Andrew Ng)课程的比例为60/20/20-验证集用于识别模型训练的最佳参数。 但是,如果希望在数据量相对较小的情况下使用k折交叉验证以希望获得更具代表性的准确性度量,那么在这种60/20/20拆分中,进行k折交叉验证的确切含义是场景? 例如,这是否意味着我们实际上将训练和测试集(数据的80%)组合在一起,并对它们进行k倍交叉验证,以获取我们的准确性指标(通过具有明确的“测试集”有效地丢弃)?如果是这样,我们在生产中使用a)和b)对验证集使用哪种训练模型并确定最佳训练参数?例如,a和b的一个可能答案可能是使用最佳折叠模型。

2
交叉验证和参数优化
使用10倍交叉验证时,我对参数优化存在疑问。 我想问一下,在每次折叠的模型训练过程中参数是否应该固定,即(1)为每个折叠的平均精度选择一组优化的参数。 要么 (2)我应该为每个折页找到优化参数,然后每个折页使用不同的优化参数来训练其模型,然后分别对折页的测试数据进行测试,最后平均每个折页的准确性作为结果? 交叉验证的正确方法是哪一种?非常感谢。


1
评估随机森林:OOB与CV
当我们例如使用AUC评估随机森林的质量时,是否更适合在“外出样品”或交叉验证的保留集内计算这些数量? 我听说在OOB Samples上计算得出的结果更为悲观,但我不知道为什么。

4
交叉验证与数据监听有何不同?
我刚读完《统计学习入门》。我想知道使用交叉验证为各种机器学习技术找到最佳调整参数是否不同于数据监听? 我们正在反复检查调整参数的哪个值会在测试集中产生最佳的预测结果。如果我们得到的调整参数恰好偶然地适合于此特定测试集,而在将来的某些测试集上表现不佳怎么办? 请原谅我对机器学习的新知识,我渴望受过教育。 编辑:请参阅@AdamO答案有关“数据监听”的定义。我在问题中使用的术语非常不准确。

1
通过k倍交叉验证,您是否可以对所有
当执行k倍交叉验证时,我了解到,您可以通过将除一个以外的所有折点都指向该折点并进行预测来获得准确性指标,然后重复此过程次。然后,您可以在所有实例上运行准确度指标(准确度,召回率,正确分类的百分比),这应该与您每次计算它们然后对结果取平均值一样(如果我错了,请纠正我)。ķkk 您想要的最终结果是最终模型。 您是否对获得的模型进行平均以进行预测,最后得出具有通过上述方法获得的准确性指标的模型?ķkk

2
普通英语使用R解释和验证Cox比例风险回归模型
有人可以用简单的英语向我解释我的Cox模型吗? 我使用该函数将以下Cox回归模型拟合到我的所有数据中cph。我的数据保存在名为的对象中Data。变量w,x和y是连续的;z是两个层次的因子。时间以月为单位。我的一些患者缺少变量数据z(注意:下面我已经适当地指出了Harrell博士的建议,即我估算这些值,以避免对我的模型造成偏见,以后会这样做)。 > fit <- cph(formula = Surv(time, event) ~ w + x + y + z, data = Data, x = T, y = T, surv = T, time.inc = 12) Cox Proportional Hazards Model Frequencies of Missing Values Due to Each Variable Surv(time, event) w x y z …

2
了解引导进行验证和模型选择
我想我了解引导程序的基本原理,但是不确定如何使用引导程序进行模型选择或避免过度拟合。 例如,对于模型选择,您是否只选择在其自举样本中产生最低误差(也许是方差?)的模型? 是否有任何文章讨论如何使用自举进行模型选择或验证? 编辑:请参阅此线程,以及@ mark999的答案,以获取此问题后面的更多上下文。

1
如何修复LogisticRegressionCV中的不收敛
我正在使用scikit-learn对一组数据执行交叉验证并进行交叉验证(约有14个参数,且具有> 7000个标准化观测值)。我也有一个目标分类器,其值为1或0。 我的问题是,无论使用什么求解器,我都会不断收到收敛警告... model1 = linear_model.LogisticRegressionCV(cv=10,verbose=1,n_jobs=-1,scoring='roc_auc',solver='newton-cg',penalty='l2') /home/b/anaconda/lib/python2.7/site-packages/scipy/optimize/linesearch.py:285: LineSearchWarning: The line search algorithm did not converge warn('The line search algorithm did not converge', LineSearchWarning) /home/b/anaconda/lib/python2.7/site-packages/sklearn/utils/optimize.py:193: UserWarning: Line Search failed model2 = linear_model.LogisticRegressionCV(cv=10,verbose=1,n_jobs=-1,scoring='roc_auc',solver='sag',penalty='l2') max_iter reached after 2 seconds max_iter reached after 2 seconds max_iter reached after 2 seconds max_iter reached after 2 …

1
千斤顶有当代用途吗?
问题是: 自举优于捆绑。但是,我想知道是否存在套刀技术是唯一或至少可行的方法来表征参数估计值的不确定性。此外,在实际情况下,相对于自举,斜切是如何产生偏见/不准确的,在开发更复杂的引导程序之前,斜切结果能否提供初步的见解? 某些情况: 朋友正在使用黑盒机器学习算法(MaxEnt)对“仅在场”或“仅在场”的地理数据进行分类。一般模型评估通常使用交叉验证和ROC曲线进行。但是,她正在使用模型的输出来导出模型输出的单个数字描述,并希望该数字周围有一个置信区间;折磨似乎是表征此值不确定性的一种合理方法。引导似乎没有意义,因为每个数据点都是地图上的唯一位置,无法通过替换进行重新采样。建模程序本身也许能够最终提供她所需要的东西。但是,我对一般情况是否有用/什么时候使您感兴趣。


1
PROC Mixed和LME / LMER在R自由度上的区别
注意:这个问题是一个转贴,因为我的上一个问题出于法律原因不得不删除。 在比较SAS的PROC MIXED与R中lme的nlme软件包的功能时,我偶然发现了一些相当混乱的差异。更具体地说,不同测试的自由度在PROC MIXED和之间有所不同lme,我想知道为什么。 从以下数据集(以下给出的R代码)开始: ind:指示进行测量的个人的因子 fac:进行测量的器官 trt:表示治疗的因素 y:一些连续响应变量 这个想法是建立以下简单模型: y ~ trt + (ind):ind作为随机因子 y ~ trt + (fac(ind)):fac嵌套在ind作为随机因子 需要注意的是最后一个模型应引起奇异性,因为只有1的值y对每一个组合ind和fac。 第一模型 在SAS中,我建立以下模型: PROC MIXED data=Data; CLASS ind fac trt; MODEL y = trt /s; RANDOM ind /s; run; 根据教程,R中使用的相同模型nlme应为: > require(nlme) > options(contrasts=c(factor="contr.SAS",ordered="contr.poly")) > m2<-lme(y~trt,random=~1|ind,data=Data) 两种模型对系数及其SE均给出相同的估计,但是在对F的影响进行F检验时trt,它们使用的自由度不同: SAS : Type …
12 r  mixed-model  sas  degrees-of-freedom  pdf  unbiased-estimator  distance-functions  functional-data-analysis  hellinger  time-series  outliers  c++  relative-risk  absolute-risk  rare-events  regression  t-test  multiple-regression  survival  teaching  multiple-regression  regression  self-study  t-distribution  machine-learning  recommender-system  self-study  binomial  standard-deviation  data-visualization  r  predictive-models  pearson-r  spearman-rho  r  regression  modeling  r  categorical-data  data-visualization  ggplot2  many-categories  machine-learning  cross-validation  weka  microarray  variance  sampling  monte-carlo  regression  cross-validation  model-selection  feature-selection  elastic-net  distance-functions  information-theory  r  regression  mixed-model  random-effects-model  fixed-effects-model  dataset  data-mining 

2
交叉验证和有序逻辑回归
我正在尝试了解有序逻辑回归的交叉验证。游戏的目的是验证分析中使用的模型。 我首先构造一个玩具数据集: set.seed(1) N <- 10000 # predictors x1 <- runif(N) x2 <- runif(N) x3 <- runif(N) # coeffs in the model a <- c(-2,-1) x <- -x1+2*x2+x3 # P( y ≤ i ) is given by logit^{-1} ( a[i]+x ) p <- outer(a,x, function(a,x) 1/(1+exp(-a-x)) ) # computing the …

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.