Learn R Programming

sparselink (version 1.0.0)

cv_multiple: Model comparison

Description

Compares predictive methods for multi-task learning (cv_multiple) or transfer learning (cv_transfer) by \(k\)-fold cross-validation.

Usage

cv_multiple(
  y,
  X,
  family,
  alpha = 1,
  nfolds = 10,
  method = c("wrap_separate", "wrap_mgaussian", "sparselink", "wrap_spls"),
  alpha.init = 0.95,
  type = "exp",
  cands = NULL
)

cv_transfer( y, X, family, alpha = 1, nfolds = 10, method = c("wrap_separate", "wrap_glmtrans", "sparselink", "wrap_xrnet"), alpha.init = 0.95, type = "exp", cands = NULL )

Value

Returns a list with slots deviance, auc (only relevant if family="binomial"), and refit.

Arguments

y

\(n \times q\) matrix (multi-task learning) or list of \(n_k\)-dimensional vectors (transfer learning)

family

character "gaussian" or "binomial"

alpha

elastic net mixing parameter of final regressions, default: 1 (lasso)

nfolds

number of internal cross-validation folds, default: 10 (10-fold cross-validation)

alpha.init

elastic net mixing parameter for initial regressions, default: 0.95 (lasso-like elastic net)

type

default "exp" scales weights with \(w_{ext}^{v_{ext}}+w_{int}^{v_{int}}\) (see internal function construct_penfacs for details)

cands

candidate values for both scaling parameters, default: NULL ({0, 0.2, 0.4, 0.6, 0.8, 1})

Examples

Run this code
#--- multi-task learning ---
# \donttest{
family <- "gaussian"
data <- sim_data_multi(family=family)
metric <- cv_multiple(y=data$y_train,X=data$X_train,family=family)
metric$deviance# }

#--- transfer learning ---
# \donttest{
family <- "gaussian"
data <- sim_data_trans(family=family)
metric <- cv_transfer(y=data$y_train,X=data$X_train,family=family)
metric$deviance# }

Run the code above in your browser using DataLab