R: Extract coefficients from a glmnet object

coef.glmnet {glmnet} | R Documentation

## Extract coefficients from a glmnet object

### Description

Similar to other predict methods, this functions predicts fitted values, logits, coefficients and more from a fitted `"glmnet"` object.

### Usage

    ## S3 method for class 'glmnet'
    coef(object, s = NULL, exact = FALSE, ...)

    ## S3 method for class 'glmnet'
    predict(
      object,
      newx,
      s = NULL,
      type = c("link", "response", "coefficients", "nonzero", "class"),
      exact = FALSE,
      newoffset,
      ...
    )

    ## S3 method for class 'relaxed'
    predict(
      object,
      newx,
      s = NULL,
      gamma = 1,
      type = c("link", "response", "coefficients", "nonzero", "class"),
      exact = FALSE,
      newoffset,
      ...
    )

### Arguments

`object` | Fitted `"glmnet"` model object or a `"relaxed"` model (which inherits from class "glmnet").
`s` | Value(s) of the penalty parameter `lambda` at which predictions are required. Default is the entire sequence used to create the model.
`exact` | This argument is relevant only when predictions are made at values of `s` (lambda) different from those used in the fitting of the original model. Not available for `"relaxed"` objects. If `exact=FALSE` (default), then the predict function uses linear interpolation to make predictions for values of `s` (lambda) that do not coincide with those used in the fitting algorithm. While this is often a good approximation, it can sometimes be a bit coarse. With `exact=TRUE`, these different values of `s` are merged (and sorted) with `object$lambda`, and the model is refit before predictions are made. In this case, it is required to supply the original data `x=` and `y=` as additional named arguments to `predict()` or `coef()`. The workhorse `predict.glmnet()` needs to `update` the model, and so needs the data used to create it. The same is true of `weights`, `offset`, `penalty.factor`, `lower.limits`, `upper.limits` if these were used in the original call. Failure to do so will result in an error.
`...` | This is the mechanism for passing arguments like `x=` when `exact=TRUE`; see`exact` argument.
`newx` | Matrix of new values for `x` at which predictions are to be made. Must be a matrix; can be sparse as in `Matrix` package. This argument is not used for `type=c("coefficients","nonzero")`
`type` | Type of prediction required. Type `"link"` gives the linear predictors for `"binomial"`, `"multinomial"`, `"poisson"` or `"cox"` models; for `"gaussian"` models it gives the fitted values. Type `"response"` gives the fitted probabilities for `"binomial"` or `"multinomial"`, fitted mean for `"poisson"` and the fitted relative-risk for `"cox"`; for `"gaussian"` type `"response"` is equivalent to type `"link"`. Type `"coefficients"` computes the coefficients at the requested values for `s`. Note that for `"binomial"` models, results are returned only for the class corresponding to the second level of the factor response. Type `"class"` applies only to `"binomial"` or `"multinomial"` models, and produces the class label corresponding to the maximum probability. Type `"nonzero"` returns a list of the indices of the nonzero coefficients for each value of `s`.
`newoffset` | If an offset is used in the fit, then one must be supplied for making predictions (except for `type="coefficients"` or `type="nonzero"`)
`gamma` | Single value of `gamma` at which predictions are required, for "relaxed" objects.

### Details

The shape of the objects returned are different for `"multinomial"` objects. This function actually calls `NextMethod()`, and the appropriate predict method is invoked for each of the three model types. `coef(...)` is equivalent to `predict(type="coefficients",...)`

### Value

The object returned depends on type.

### Author(s)

Jerome Friedman, Trevor Hastie and Rob Tibshirani
Maintainer: Trevor Hastie hastie@stanford.edu

### References

Friedman, J., Hastie, T. and Tibshirani, R. (2008) Regularization Paths for Generalized Linear Models via Coordinate Descent, https://web.stanford.edu/~hastie/Papers/glmnet.pdf
Journal of Statistical Software, Vol. 33(1), 1-22 Feb 2010
https://www.jstatsoft.org/v33/i01/
Simon, N., Friedman, J., Hastie, T., Tibshirani, R. (2011) Regularization Paths for Cox's Proportional Hazards Model via Coordinate Descent, Journal of Statistical Software, Vol. 39(5) 1-13
https://www.jstatsoft.org/v39/i05/

### See Also

`glmnet`, and `print`, and `coef` methods, and `cv.glmnet`.

### Examples

    x=matrix(rnorm(100*20),100,20)
    y=rnorm(100)
    g2=sample(1:2,100,replace=TRUE)
    g4=sample(1:4,100,replace=TRUE)
    fit1=glmnet(x,y)
    predict(fit1,newx=x[1:5,],s=c(0.01,0.005))
    predict(fit1,type="coef")
    fit2=glmnet(x,g2,family="binomial")
    predict(fit2,type="response",newx=x[2:5,])
    predict(fit2,type="nonzero")
    fit3=glmnet(x,g4,family="multinomial")
    predict(fit3,newx=x[1:3,],type="response",s=0.01)

[Package glmnet version 4.1-2 Index]