Использование цикла для вычисления различных значений лямбда и мин MSE - PullRequest
0 голосов
/ 20 октября 2018

Я пытаюсь вычислить различные значения для лямбда и минимальной MSE в эластичной сети для альфа между 0 и 1 с шагом 0,1.Я хочу вывести таблицу с тремя столбцами альфа, лямбда и мин MSE, а также график альфа против мин MSE, но я продолжаю получать сообщения об ошибках.мои коды указаны ниже;

`library(ISLR)
library(glmnet)
alpha <- seq(0, 1, by = 0.1)
min_lambda <- NA
for(i in seq_along(alpha)) {
x=model.matrix(Apps~.,College)[,-1] 
y=College$Apps
grid=10^seq(10,-2,length=100)
elnet.mod=glmnet(x,y,alpha=alpha[i],lambda=grid)
set.seed(1)
train=sample(1:nrow(x), nrow(x)/2)
y.test=y[-train]
set.seed(1)
fit.elnet=cv.glmnet(x[train,],y[train],alpha= alpha[i])
min_lambda[i]=fit.elnet$lambda.min
elnet.pred=predict(elnet.mod,s=min_MSE[i],newx=x[-train,])
min_MSE<-mean((elnet.pred-y.test)^2)

}
table(alpha,min_MSE,min_lambda)
plot(alpha,min_MSE)`

мое сообщение об ошибке

Error in intI(j, n = x@Dim[2], dn[[2]], give.dn = FALSE) : 
'NA' indices are not (yet?) supported for sparse Matrices
 > table(alpha,min_MSE,min_lambda)
 Error in table(alpha, min_MSE, min_lambda) : 
 all arguments must have the same length
 > plot(alpha,min_MSE)
 Error in xy.coords(x, y, xlabel, ylabel, log) : 
 'x' and 'y' lengths differ

Может кто-нибудь помочь мне решить эту проблему?Спасибо

...