mytidy.cv.glmnet: mytidy.cv.glmnet

View source: R/glmnet-cv-mytidy.R

mytidy.cv.glmnetR Documentation

mytidy.cv.glmnet

Description

mytidy.cv.glmne2t

Usage

## S3 method for class 'cv.glmnet'
mytidy(x, ...)

Arguments

x

A cv.glmnet object returned from glmnet::cv.glmnet().

  • @ template param_unused_dots

Value

A tibble::tibble() with columns:

lambda

Value of penalty parameter lambda.

nzero

Number of non-zero coefficients for the given lambda.

std.error

The standard error of the regression term.

conf.low

Lower bound on confidence interval for cross-validation estimated loss.

conf.high

Upper bound on confidence interval for cross-validation estimated loss.

estimate

Median loss across all cross-validation folds for a given lamdba

See Also

tidy(), glmnet::cv.glmnet()

Examples



# load libraries for models and data
library(glmnet)

set.seed(27)

nobs <- 100
nvar <- 50
real <- 5

x <- matrix(rnorm(nobs * nvar), nobs, nvar)
beta <- c(rnorm(real, 0, 1), rep(0, nvar - real))
y <- c(t(beta) %*% t(x)) + rnorm(nvar, sd = 3)

cvfit1 <- cv.glmnet(x, y)

mytidy(cvfit1)
glance(cvfit1)

library(ggplot2)

tidied_cv <- tidy(cvfit1)
glance_cv <- glance(cvfit1)

# plot of MSE as a function of lambda
g <- ggplot(tidied_cv, aes(lambda, estimate)) +
  geom_line() +
  scale_x_log10()
g

# plot of MSE as a function of lambda with confidence ribbon
g <- g + geom_ribbon(aes(ymin = conf.low, ymax = conf.high), alpha = .25)
g

# plot of MSE as a function of lambda with confidence ribbon and choices
# of minimum lambda marked
g <- g +
  geom_vline(xintercept = glance_cv$lambda.min) +
  geom_vline(xintercept = glance_cv$lambda.1se, lty = 2)
g

# plot of number of zeros for each choice of lambda
ggplot(tidied_cv, aes(lambda, nzero)) +
  geom_line() +
  scale_x_log10()

# coefficient plot with min lambda shown
tidied <- tidy(cvfit1$glmnet.fit)



agalecki/utilsag documentation built on Jan. 25, 2023, 5:36 a.m.