elasticnet (version 1.02)

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 (2004) "Regularization and Variable Selection via the Elastic Net" In press, Journal of the Royal Statistical Society, Series B.

See Also

print, plot, and predict methods for enet

Examples

Run this code
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