cv.PCLasso2 {PCLassoReg} | R Documentation |
Cross-validation for PCLasso2
Description
Perform k-fold cross validations for the PCLasso2 model with grouped
covariates over a grid of values for the regularization parameter
lambda
.
Usage
cv.PCLasso2(
x,
y,
group,
penalty = c("grLasso", "grMCP", "grSCAD"),
family = c("binomial", "gaussian", "poisson"),
nfolds = 5,
gamma = 8,
standardize = TRUE,
...
)
Arguments
x |
A n x p design matrix of gene/protein expression measurements with n
samples and p genes/proteins, as in |
y |
The response vector. |
group |
A list of groups as in |
penalty |
The penalty to be applied to the model. For group selection,
one of grLasso, grMCP, or grSCAD. See |
family |
Either "binomial" or "gaussian", depending on the response. |
nfolds |
The number of cross-validation folds. Default is 5. |
gamma |
Tuning parameter of the |
standardize |
Logical flag for |
... |
Arguments to be passed to |
Details
The function calls PCLasso2
nfolds
times, each time
leaving out 1/nfolds
of the data. The cross-validation error is based
on the deviance. The numbers for each class are balanced across the folds;
i.e., the number of outcomes in which y is equal to 1 is the same for each
fold, or possibly off by 1 if the numbers do not divide evenly. See
cv.grpreg
in the R package grpreg
for details.
Value
An object with S3 class "cv.PCLasso2" containing:
cv.fit |
An object of class "cv.grpreg". |
complexes.dt |
Complexes with features
(genes/proteins) not included in |
Author(s)
Wei Liu
References
PCLasso2: a protein complex-based, group Lasso-logistic model for risk protein complex discovery. To be published.
Park, H., Niida, A., Miyano, S. and Imoto, S. (2015) Sparse overlapping group lasso for integrative multi-omics analysis. Journal of computational biology: a journal of computational molecular cell biology, 22, 73-84.
See Also
Examples
# load data
data(classData)
data(PCGroups)
x = classData$Exp
y = classData$Label
PC.Human <- getPCGroups(Groups = PCGroups, Organism = "Human",
Type = "GeneSymbol")
# fit model
cv.fit1 <- cv.PCLasso2(x, y, group = PC.Human, penalty = "grLasso",
family = "binomial", nfolds = 5)
cv.fit1 <- cv.PCLasso2(x, y, group = PC.Human, penalty = "grSCAD",
family = "binomial", nfolds = 5, gamma = 10)
cv.fit1 <- cv.PCLasso2(x, y, group = PC.Human, penalty = "grMCP",
family = "binomial", nfolds = 5, gamma = 15)