Regularization with the lasso
In the previous chapter on linear regression, we used the glmnet
package to perform regularization with ridge regression and the lasso. As we've seen that, it might be a good idea to remove some of our features, we'll try applying lasso to our dataset and assess the results. First, we'll train a series of regularized models with glmnet()
and then we will use cv.glmnet()
to estimate a suitable value for λ. Then, we'll examine the coefficients of our regularized model using this λ:
> library(glmnet) > heart_train_mat <- model.matrix(OUTPUT ~ ., heart_train)[,-1] > lambdas <- 10 ^ seq(8, -4, length = 250) > heart_models_lasso <- glmnet(heart_train_mat, heart_train$OUTPUT, alpha = 1, lambda = lambdas, family = "binomial") > lasso.cv <- cv.glmnet(heart_train_mat, heart_train$OUTPUT, alpha = 1,lambda = lambdas, family = "binomial") > lambda_lasso <- lasso.cv$lambda.min > lambda_lasso [1] 0.01057052 > predict(heart_models_lasso...