k折交叉验证的直观问题

问题描述 投票:1回答:1

我在通过交叉验证检查预测能力时遇到一些直观的问题,我想我没有100%获得该算法。我想在示例中说明我的直觉问题。令k = 5(倍数),

library(caret)
x=runif(100) 
z=rexp(100)
y=rnorm(100) 
Q=data.frame(x,z,y) 
train.control <- trainControl(method = "cv", number = 5)
train(y~x+z,method="lm",data=Q,trControl=train.control)

在输出中,我得到了:

100 samples
  2 predictor

No pre-processing
Resampling: Cross-Validated (5 fold) 
Summary of sample sizes: 80, 80, 80, 80, 80 
Resampling results:

  RMSE      Rsquared   MAE      
  1.032508  0.1272826  0.8213676

Tuning parameter 'intercept' was held constant at a value of TRUE 

我的问题是:

((1)为什么将我的样本划分为长度为80,80,80,80,80而不是20,20,20,20,20的子样本?长度y,x和z为100而不是400。

((2)算法仅从x和z或从x和y和z绘制图形]

(3)随机化后算法会做什么?我在互联网上找不到任何相关信息。我只看到他计算出RMSE和MAE。但是例如MAE计算y和y.hat之间的差的绝对值。我相信hhat是由模型y〜x + z预测的值(例如,如果我绘制x = 0.05且z = 0.16,则y.hat = 0.21)。但是我不知道这些开奖号码的y是什么,我无法想象选择正确的数字的可能性。

[请问,您能回答我的直觉性问题还是给我一些不错的页面来阅读它?我读过的所有页面都找不到解决问题的方法。预先谢谢你。

r machine-learning linear-regression cross-validation
1个回答
2
投票
  1. 5倍CV意味着将数据分为5部分,训练4部分,然后对剩余的1部分进行测试。因此,您在80上训练,并测试剩余的20。然后在不同的20s内执行5次。您可以查看此vignette on cross-validation,我基本上是从那里抓图的:
© www.soinside.com 2019 - 2024. All rights reserved.