Learn R Programming

glmpath (version 0.98)

plot.glmpath: Plots the regularization path computed from glmpath

Description

This function takes a glmpath object and visualizes the regularization path. The horizontal axis can be norm, lambda or step. The vertical axis can be coefficients, aic or bic.

Usage

# S3 method for glmpath
plot(x, xvar = c("norm", "lambda", "step"),
     type = c("coefficients", "aic", "bic"),
     plot.all.steps = FALSE, xlimit = NULL, predictor = FALSE,
     omit.zero = TRUE, breaks = TRUE, mar = NULL,
     eps = .Machine$double.eps, main = NULL, ...)

Arguments

x

a glmpath object

xvar

horizontal axis. xvar=norm plots against the L1 norm of the coefficients (to which L1 norm penalty was applied); xvar=lambda plots against \(\lambda\); and xvar=step plots against the number of steps taken. Default is norm.

type

type of the plot, or the vertical axis. Default is coefficients.

plot.all.steps

If TRUE, all the steps taken along the path are marked on the plot. If FALSE, which is the default, only the steps at which the active set changed are shown on the plot.

xlimit

When the user wants to visualize a (beginning) sub-part of the plot, xlimit sets an upper limit to the L1 norm or the number of steps, or a lower limit to \(\lambda\).

predictor

If TRUE and type=coefficients, the predictor step estimates are connected with dotted lines. If FALSE, only the corrector step estimates are connected with solid lines.

omit.zero

If TRUE and type=coefficients, the predictors that were never in the active set are omitted.

breaks

If TRUE, vertical lines are drawn at the points where the active set changes and numbered with the degrees of freedom.

mar

margin relative to the current font size

eps

an effective zero

main

title of the plot

...

other options for the plot

References

Mee Young Park and Trevor Hastie (2007) L1 regularization path algorithm for generalized linear models. J. R. Statist. Soc. B, 69, 659-677.

See Also

cv.glmpath, glmpath, predict.glmpath

Examples

Run this code
# NOT RUN {
data(heart.data)
attach(heart.data)
fit <- glmpath(x, y, family=binomial)
par(mfrow=c(3, 2))
plot(fit)
plot(fit, xvar="lambda")
plot(fit, xvar="step")
plot(fit, xvar="step", xlimit=8)
plot(fit, type="aic")
plot(fit, type="bic")
detach(heart.data)
# }

Run the code above in your browser using DataLab