Answers:
glmnet无法直接获取因子,您需要将因子变量转换为虚拟变量。例如,这只是使用model.matrix的一个简单步骤:
x_train <- model.matrix( ~ .-1, train[,features])
lm = cv.glmnet(x=x_train,y = as.factor(train$y), intercept=FALSE ,family = "binomial", alpha=1, nfolds=7)
best_lambda <- lm$lambda[which.min(lm$cvm)]
alpha = 1将建立一个LASSO。