Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Testing 测试样本上的最佳子集回归(k倍后)_Testing_Regression_Subset_Cross Validation_Training Data - Fatal编程技术网

Testing 测试样本上的最佳子集回归(k倍后)

Testing 测试样本上的最佳子集回归(k倍后),testing,regression,subset,cross-validation,training-data,Testing,Regression,Subset,Cross Validation,Training Data,我正在R studio中运行最佳子集回归分析。我正在使用以下库: 图书馆(外文) 图书馆(glmnet) 图书馆(caTools) 图书馆(飞跃) 图书馆(ISLR) 图书馆(knitr) 图书馆(ggvis) 我想将我的样本分为三个样本:培训、交叉验证和测试(可能是50%、30%、20%) 我已经成功地在我们的培训中运行了best subset,并使用以下脚本交叉验证了这些结果: k = 10 set.seed(1) folds = sample(1:k,nrow(best_demo_trai

我正在R studio中运行最佳子集回归分析。我正在使用以下库: 图书馆(外文) 图书馆(glmnet) 图书馆(caTools) 图书馆(飞跃) 图书馆(ISLR) 图书馆(knitr) 图书馆(ggvis)

我想将我的样本分为三个样本:培训、交叉验证和测试(可能是50%、30%、20%)

我已经成功地在我们的培训中运行了best subset,并使用以下脚本交叉验证了这些结果:

k = 10
set.seed(1)
folds = sample(1:k,nrow(best_demo_train),replace=TRUE)
table(folds)

cv.errors=matrix(NA,k,5, dimnames=list(NULL, paste(1:5)))

predict.regsubsets = function(object, newdata, id, ...) {
  form = as.formula(object$call[[2]])
  mat = model.matrix(form, newdata)
  coefi = coef(object, id = id)
  mat[, names(coefi)] %*% coefi
}

for(j in 1:k){
  best.fit = regsubsets(selfaware ~., data=best_demo_train[folds != j,])

  for (i in 1:5){
    pred = predict(best.fit, best_demo_train[folds == j, ], id = i)
    cv.errors[j, i] = mean((best_demo_train$selfaware[folds == j] - pred)^2)
  }
}

mean.cv.errors=apply(cv.errors,2,mean)
mean.cv.errors
which.min(mean.cv.errors)
par(mfrow=c(1,1))
plot(mean.cv.errors,type='b')
points(which.min(mean.cv.errors),mean.cv.errors[which.min(mean.cv.errors)],
       col="red",cex=2,pch=20)

reg.best=regsubsets (selfaware~.,data=best_demo_train)
coef(reg.best ,3) 
reg.summary=summary(reg.best ,3)
reg.summary$adjr2
所以,一旦我有了“最佳”变量,我想用20%的数据“测试”这个模型。有人能帮我解决这个问题吗?我不知道测试这个模型的脚本是什么,在网上搜索失败了

谢谢,我很感激。 莎拉