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

object.

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

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

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.

The object returned depends on type.

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",...)`

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/

`glmnet`

, and `print`

, and `coef`

methods, and
`cv.glmnet`

.

```
# NOT RUN {
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)
# }
```

Run the code above in your browser using DataLab