如何修改lapply()以在parralel中运行?

时间:2015-09-27 17:48:07

标签: r

我正在学习回归模型,基本上我需要运行回归模型以获得alpha参数列表。因为我的数据量非常大,所以计算时间非常长。 如何使我的代码并行运行以获得不同的alpha值。 这是我的代码的瓶颈,我想让这部分并行运行。有人可以帮助我吗?

elasticnet<-try(lapply(alphaslist, function(x){cv.glmnet(x_train, y_train, alpha=x, nfolds=10,standardize=TRUE,parallel= TRUE)}))
                 if(class(elasticnet) == "try-error") next;

这是我的代码:

 alphaslist<-seq(0,1,by=0.001)
 elasticnet<-try(lapply(alphaslist, function(x){cv.glmnet(x_train, y_train, alpha=x, nfolds=10,standardize=TRUE,parallel= TRUE)}))
                 if(class(elasticnet) == "try-error") next;
                 for (j in 1:length(alphaslist)) {A[j]<-min(elasticnet[[j]]$cvm)}

                  index<-which(A==min(A), arr.ind=TRUE)
                   #Alpha<- alphaslist[index]
                 Best_model_ENET[[i]]<- elasticnet[[index]]

0 个答案:

没有答案