Formula interface for elastic net cross-validation with cv.glmnet
Formula interface for elastic net cross-validation with cv.glmnet
cv.glmnet(x, ...) ## Default S3 method: cv.glmnet(x, y, ...) ## S3 method for class 'formula' cv.glmnet( formula, data, alpha = 1, nfolds = 10, ..., weights = NULL, offset = NULL, subset = NULL, na.action = getOption("na.action"), drop.unused.levels = FALSE, xlev = NULL, sparse = FALSE, use.model.frame = FALSE, gamma = c(0, 0.25, 0.5, 0.75, 1), relax = FALSE ) ## S3 method for class 'cv.glmnet.formula' predict(object, newdata, na.action = na.pass, ...) ## S3 method for class 'cv.glmnet.formula' coef(object, ...) ## S3 method for class 'cv.glmnet.formula' print(x, ...) ## S3 method for class 'cv.relaxed.formula' predict(object, newdata, na.action = na.pass, ...) ## S3 method for class 'cv.glmnet.formula' coef(object, ...)
x |
For the default method, a matrix of predictor variables. |
... |
For |
y |
For the default method, a response vector or matrix (for a multinomial response). |
formula |
A model formula; interaction terms are allowed and will be expanded per the usual rules for linear models. |
data |
A data frame or matrix containing the variables in the formula. |
alpha |
The elastic net mixing parameter. See glmnet::glmnet for more details. |
nfolds |
The number of crossvalidation folds to use. See glmnet::cv.glmnet for more details. |
weights |
An optional vector of case weights to be used in the fitting process. If missing, defaults to an unweighted fit. |
offset |
An optional vector of offsets, an a priori known component to be included in the linear predictor. |
subset |
An optional vector specifying the subset of observations to be used to fit the model. |
na.action |
A function which indicates what should happen when the data contains missing values. For the |
drop.unused.levels |
Should factors have unused levels dropped? Defaults to |
xlev |
A named list of character vectors giving the full set of levels to be assumed for each factor. |
sparse |
Should the model matrix be in sparse format? This can save memory when dealing with many factor variables, each with many levels. |
use.model.frame |
Should the base model.frame function be used when constructing the model matrix? This is the standard method that most R modelling functions use, but has some disadvantages. The default is to avoid |
gamma |
For |
relax |
For |
object |
For the |
newdata |
For the |
The cv.glmnet
function in this package is an S3 generic with a formula and a default method. The former calls the latter, and the latter is simply a direct call to the cv.glmnet
function in package glmnet
. All the arguments to glmnet::cv.glmnet
are (or should be) supported.
There are two ways in which the matrix of predictors can be generated. The default, with use.model.frame = FALSE
, is to process the additive terms in the formula independently. With wide datasets, this is much faster and more memory-efficient than the standard R approach which uses the model.frame
and model.matrix
functions. However, the resulting model object is not exactly the same as if the standard approach had been used; in particular, it lacks a bona fide terms object. If you require interoperability with other packages that assume the standard model object structure, set use.model.frame = TRUE
. See discussion for more information on this topic.
The predict
and coef
methods are wrappers for the corresponding methods in the glmnet package. The former constructs a predictor model matrix from its newdata
argument and passes that as the newx
argument to glmnet:::predict.cv.glmnet
.
For cv.glmnet.formula
, an object of class either cv.glmnet.formula
or cv.relaxed.formula
, based on the value of the relax
argument. This is basically the same object created by glmnet::cv.glmnet
, but with extra components to allow formula usage.
cv.glmnet(mpg ~ ., data=mtcars) cv.glmnet(Species ~ ., data=iris, family="multinomial") ## Not run: # Leukemia example dataset from Trevor Hastie's website download.file("https://web.stanford.edu/~hastie/glmnet/glmnetData/Leukemia.RData", "Leukemia.RData") load("Leukemia.Rdata") leuk <- do.call(data.frame, Leukemia) cv.glmnet(y ~ ., leuk, family="binomial") ## End(Not run)
Please choose more modern alternatives, such as Google Chrome or Mozilla Firefox.