Low-level wrapper that sets up the design matrix and binary response
for penalized logistic regression, then calls glmnet::glmnet() or
glmnet::cv.glmnet() with family = "binomial".
This function is used internally by fit_net_logit() and is
typically not called directly by the user.
Usage
net_logit(
f,
data,
alpha = 1,
penalty.factor = NULL,
type.measure = "deviance",
standardize = TRUE,
na.action = "na.pass",
func = c("glmnet", "cv.glmnet")[1],
...
)
net_rsf(
f,
data,
alpha = 1,
penalty.factor = NULL,
type.measure = "deviance",
standardize = TRUE,
na.action = "na.pass",
func = c("glmnet", "cv.glmnet")[1],
...
)Arguments
- f
[formula]
Formula of the model to be fitted, with all possible candidate terms.- data
[data.frame,tibble]
Complete data set to be analyzed.- alpha
Default is L1-regularization (Lasso regression), with
alpha = 1. L2-regularization (Ridge regression) is done withalpha = 0, and elastic-net regression is performed for anyalphavalue between0and1. For more details, see theglmnet::glmnet()documentation. For Adaptive and Decay Adaptive Lasso, keepalpha = 1.- penalty.factor
[numeric,vector=NULL]
Vector of penalty factors to be used for Adaptive Lasso fitting. The vector might have the same length as the the number of columns given by the model matrix,model.matrix(f, data). Default isNULL, in case the same penalty is applied to all variables.- type.measure
[character(1)="deviance"]
Type of measure to evaluate the model internally inglmnet::glmnet(). For logistic and conditional logistic regression, it is by default"deviance".- standardize
[logical(1)=TRUE]
Whether the call toglmnetshould include internal standardization of variables or not. Default is TRUE. It should be set toFALSEif the variables are already standardized.- na.action
[character(1)="na.pass"]
Default is"na.pass", i.e. rows with NAs are not automatically removed from themodel.matrixused for fitting.- func
[character(1)="glmnet"]{"glmnet", "cv.glmnet"}
The function to be used for fitting. Default isglmnet::glmnet(). The second option isglmnet::cv.glmnet()which already performs the cross-validation and might include the variable selection/calibration.- ...
[any]
Additional arguments passed toglmnet::glmnet()orglmnet::cv.glmnet(). Note theparallel = TRUEoption from glmnet can be passed here.
Value
A fitted glmnet::glmnet() or glmnet::cv.glmnet() object.