set.seed(1)
n <- 50; p <- 5
X <- matrix(rnorm(n * p), n, p)
y <- X[, 1] - 0.5 * X[, 2] + rnorm(n)
df_ex <- data.frame(y = as.numeric(y), X)
colnames(df_ex) <- c("y", paste0("x", 1:p))
fit <- glmnet_with_cv(
y ~ ., df_ex,
glmnet_alpha = 1,
nfolds = 5,
repeats = 2,
seed = 9,
family = "gaussian"
)
preds_raw <- predict_cv(fit, df_ex)
preds_db <- predict_cv(fit, df_ex, debias = TRUE)
cor(preds_raw, df_ex$y)
# Binomial example (probability predictions on [0,1] scale)
set.seed(2)
n2 <- 80; p2 <- 4
X2 <- matrix(rnorm(n2 * p2), n2, p2)
eta2 <- X2[, 1] - 0.8 * X2[, 2]
pr2 <- plogis(eta2)
y2 <- rbinom(n2, size = 1, prob = pr2)
df_bin <- data.frame(y = y2, X2)
colnames(df_bin) <- c("y", paste0("x", 1:p2))
fit_bin <- glmnet_with_cv(
y ~ ., df_bin,
glmnet_alpha = c(0.5, 1),
nfolds = 5,
repeats = 2,
seed = 11,
family = "binomial"
)
prob_hat <- predict_cv(fit_bin, df_bin)
summary(prob_hat)
Run the code above in your browser using DataLab