enet {elasticnet} | R Documentation |
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 |
trace |
If TRUE, prints out its progress |
normalize |
Standardize the predictors? |
intercept |
Center the predictors? |
eps |
An effective zero |
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.
Value
An "enet" object is returned, for which print, plot and predict methods exist.
Author(s)
Hui Zou and Trevor Hastie
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
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)