Learn R Programming

elasticnet (version 1.3)

enet: Fits Elastic Net regression models

Description

Starting from zero, the LARS-EN algorithm provides the entire sequence of coefficients and fits.

Usage

enet(x, y, lambda, max.steps, normalize=TRUE, intercept=TRUE,
     trace = FALSE, eps = .Machine$double.eps)

Arguments

x

matrix of predictors

y

response

lambda

Quadratic penalty parameter. lambda=0 performs the Lasso fit.

max.steps

Limit the number of steps taken; the default is 50 * min(m, n-1), with m the number of variables, and n the number of samples. One can use this option to perform early stopping.

trace

If TRUE, prints out its progress

normalize

Standardize the predictors?

intercept

Center the predictors?

eps

An effective zero

Value

An "enet" object is returned, for which print, plot and predict methods exist.

Details

The Elastic Net methodology is described in detail in Zou and Hastie (2004). The LARS-EN algorithm computes the complete elastic net solution simultaneously for ALL values of the shrinkage parameter in the same computational cost as a least squares fit. The structure of enet() is based on lars() coded by Efron and Hastie. Some internel functions from the lars package are called. The user should install lars before using elasticnet functions.

References

Zou and Hastie (2005) "Regularization and Variable Selection via the Elastic Net" Journal of the Royal Statistical Society, Series B, 67, 301-320.

See Also

print, plot, and predict methods for enet

Examples

Run this code
# NOT RUN {
data(diabetes)
attach(diabetes)
##fit the lasso model (treated as a special case of the elastic net)
object1 <- enet(x,y,lambda=0)
plot(object1)
##fit the elastic net model with lambda=1.
object2 <- enet(x,y,lambda=1) 
plot(object2)
##early stopping after 50 LARS-EN steps
object4 <- enet(x2,y,lambda=0.5,max.steps=50)
plot(object4)
detach(diabetes)
# }

Run the code above in your browser using DataLab