Learn R Programming

RSDA (version 1.1)

sym.glm: Lasso, Ridge and and Elastic Net Linear regression model to interval variables

Description

Execute Lasso, Ridge and and Elastic Net Linear regression model to interval variables.

Usage

sym.glm(sym.data, response = 1, method = c("cm", "crm"), 
               alpha = 1, nfolds = 10, grouped = TRUE)

Arguments

sym.data
Should be a symbolic data table read with the function read.sym.table(...).
response
The number of the column where is the response variable in the interval data table.
method
"cm" to generalized Center Method and "crm" to generalized Center and Range Method.
alpha
alpha=1 is the lasso penalty, and alpha=0 the ridge penalty. 0
nfolds
Number of folds - default is 10. Although nfolds can be as large as the sample size (leave-one-out CV), it is not recommended for large datasets. Smallest value allowable is nfolds=3
grouped
This is an experimental argument, with default TRUE, and can be ignored by most users.

Value

  • An object of class "cv.glmnet" is returned, which is a list with the ingredients of the cross-validation fit.

References

Rodriguez O. (2013). A generalization of Centre and Range method for fitting a linear regression model to symbolic interval data using Ridge Regression, Lasso and Elastic Net methods. The IFCS2013 conference of the International Federation of Classification Societies, Tilburg University Holland.

See Also

sym.lm

Examples

Run this code
data(int_prost_train)
data(int_prost_test)
res.cm.lasso<-sym.glm(sym.data=int_prost_train,response=9,method='cm',
                      alpha=1,nfolds=10,grouped=TRUE)
pred.cm.lasso<-predictsym.glm(res.cm.lasso,response=9,int_prost_test,method='cm')
plot(res.cm.lasso)
plot(res.cm.lasso$glmnet.fit, "norm", label=TRUE)
plot(res.cm.lasso$glmnet.fit, "lambda", label=TRUE)
RMSE.L(sym.var(int_prost_test,9),pred.cm.lasso)
RMSE.U(sym.var(int_prost_test,9),pred.cm.lasso)
R2.L(sym.var(int_prost_test,9),pred.cm.lasso)
R2.U(sym.var(int_prost_test,9),pred.cm.lasso)
deter.coefficient(sym.var(int_prost_test,9),pred.cm.lasso)

Run the code above in your browser using DataLab