Learn R Programming

msgl (version 2.0.125.0)

msgl.subsampling: Multinomial sparse group lasso generic subsampling procedure

Description

Multinomial sparse group lasso generic subsampling procedure using multiple possessors

Usage

msgl.subsampling(x, classes,
    sampleWeights = rep(1/length(classes), length(classes)),
    grouping = NULL, groupWeights = NULL,
    parameterWeights = NULL, alpha = 0.5,
    standardize = TRUE, lambda, training, test,
    intercept = TRUE, sparse.data = is(x, "sparseMatrix"),
    collapse = FALSE, max.threads = 2L,
    algorithm.config = msgl.standard.config)

Arguments

x
design matrix, matrix of size $N \times p$.
classes
classes, factor of length $N$.
sampleWeights
sample weights, a vector of length $N$.
grouping
grouping of features (covariates), a vector of length $p$. Each element of the vector specifying the group of the feature.
groupWeights
the group weights, a vector of length $m$ (the number of groups). If groupWeights = NULL default weights will be used. Default weights are 0 for the intercept and $$\sqrt{K\cdot\textrm{number of features in the group}}$$ for all other
parameterWeights
a matrix of size $K \times p$. If parameterWeights = NULL default weights will be used. Default weights are is 0 for the intercept weights and 1 for all other weights.
alpha
the $\alpha$ value 0 for group lasso, 1 for lasso, between 0 and 1 gives a sparse group lasso penalty.
standardize
if TRUE the features are standardize before fitting the model. The model parameters are returned in the original scale.
lambda
the lambda sequence for the regularization path.
training
a list of training samples, each item of the list corresponding to a subsample. Each item in the list must be a vector with the indices of the training samples for the corresponding subsample. The length of the list must equal the length of the
test
a list of test samples, each item of the list corresponding to a subsample. Each item in the list must be vector with the indices of the test samples for the corresponding subsample. The length of the list must equal the length of the traini
intercept
should the model include intercept parameters
sparse.data
if TRUE x will be treated as sparse, if x is a sparse matrix it will be treated as sparse by default.
collapse
if TRUE the results for each subsample will be collapse into one result (this is useful if the subsamples are not overlapping)
max.threads
the maximal number of threads to be used
algorithm.config
the algorithm configuration to be used.

Value

  • linkthe linear predictors -- a list of length length(test) with each element of the list another list of length length(lambda) one item for each lambda value, with each item a matrix of size $K \times N$ containing the linear predictors.
  • responsethe estimated probabilities -- a list of length length(test) with each element of the list another list of length length(lambda) one item for each lambda value, with each item a matrix of size $K \times N$ containing the probabilities.
  • classesthe estimated classes -- a list of length length(test) with each element of the list a matrix of size $N \times d$ with $d=$length(lambda).
  • featuresnumber of features used in the models.
  • parametersnumber of parameters used in the models.
  • classes.truea list of length length(training), containing the true classes used for estimation

Examples

Run this code
data(SimData)
x <- sim.data$x
classes <- sim.data$classes

test <- list(1:20, 21:40)
train <- lapply(test, function(s) (1:length(classes))[-s])

lambda <- msgl.lambda.seq(x, classes, alpha = .5, d = 50, lambda.min = 0.05)
fit.sub <- msgl.subsampling(x, classes, alpha = .5, lambda = lambda, training = train, test = test)

# Mean misclassification error of the tests
Err(fit.sub)

# Negative log likelihood error
Err(fit.sub, type="loglike")

Run the code above in your browser using DataLab