R k-折叠交叉验证的直观问题
我在用交叉验证检查预测能力方面有一些直觉上的问题,我想我没有100%得到算法。 我想通过例子来说明我的直觉问题。设k=5(折叠次数),且 我的问题是: (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之间差值的绝对值。我相信h.hat是模型y~x+z的预测值(例如,如果我画x=0.05,z=0.16,那么y.hat=0.21)。但我不知道这些数字的y是多少,我无法想象选择正确数字的可能性 请问,你能回答我直觉上的问题吗,还是给我一些好的页面来阅读?在我读过的所有页面中,我都找不到解决问题的方法。先谢谢你R k-折叠交叉验证的直观问题,r,machine-learning,linear-regression,cross-validation,R,Machine Learning,Linear Regression,Cross Validation,我在用交叉验证检查预测能力方面有一些直觉上的问题,我想我没有100%得到算法。 我想通过例子来说明我的直觉问题。设k=5(折叠次数),且 我的问题是: (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之间差值的绝对值。我相信h.hat是模型
method=“lm”
和y~x+z
,因此您拟合了一个线性模型,其中y为因变量,x和z为自变量。每次抽取80个样本时,模型的系数将(应该)不同,因为抽取的样本不同。您可以预测测试集的值并计算误差RMSE或MAE。5轮之后,我们有5个测试集的RMSE或MAE,我们取平均值。通常,我们对模型的不同超参数进行迭代,以根据最小误差选择最佳参数。但在您的示例中,没有要调整的超参数。你可以检查一下这个非常感谢你的解释!现在我100%理解算法了!
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