cv_multiple {sparselink}R Documentation

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
)

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})

Value

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

Examples

#--- multi-task learning ---

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 ---

family <- "gaussian"
data <- sim_data_trans(family=family)
metric <- cv_transfer(y=data$y_train,X=data$X_train,family=family)
metric$deviance


[Package sparselink version 1.0.0 Index]