在r中增加训练数据集行的迭代回归

时间:2018-04-11 00:43:39

标签: r

我想对训练数据集中增加的行数(第一个实验使用10%的训练数据,第二个使用20%,依此类推)执行10个线性回归(波士顿数据集)并评估结果测试集并绘制结果,使用X值作为训练集的百分比,并将Y作为测试集上的RSE。我刚开始学习r编码可以有人请指导我这里

sample <- sample.int(n = nrow(Boston), size = floor(.70*nrow(Boston)), replace = F)
train <- Boston[sample, ]
test  <- Boston[-sample, ]
#I have the following template
Onetestrse<-rep(0,10)
for(i in 1:10)
Train2=train(1:……….)
Lr1 fit=lm(medv~lstat,…train2)
predictions=…
rss=
rse=
Onetestrse[I]=rse

1 个答案:

答案 0 :(得分:2)

这应该让你开始。

始终说明您正在使用哪些非基本R库。 Boston数据集是MASS的一部分,因此我们需要执行library(MASS)

  1. 设置固定种子以获得再现性。

    set.seed(2017);
    
  2. 构建培训和测试数据。

    sample <- sample.int(n = nrow(Boston), size = floor(.70*nrow(Boston)), replace = F)
    train <- Boston[sample, ];
    test  <- Boston[-sample, ];
    
  3. 为完整训练数据集的不同百分比拟合线性模型。我们随机抽取fraction.of.train的{​​{1}}。

    train
  4. 作为如何处理fraction.of.train <- seq(0.1, 1.0, by = 0.1); res <- lapply(fraction.of.train, function(x) { df <- train[sample(nrow(train), floor(x * nrow(train))), ]; fit <- lm(medv ~ lstat, data = df); return(fit); }) 的示例,我们可以在[{1}}中存储模型系数的估算值。

    res
  5. data.frame中提取其他合适的统计信息非常简单,我会将此留给您。