Skip to contents

Estimates sparse regression models (i.e., selecting few variables) in multi-task learning or transfer learning

Usage

sparselink(
  x,
  y,
  family,
  alpha.init = 0.95,
  alpha = 1,
  type = "exp",
  nfolds = 10,
  trial = FALSE
)

Arguments

x

\(n \times p\) matrix (multi-task learning) or list of \(n_k \times p\) matrices (transfer learning)

y

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

family

character "gaussian" or "binomial"

alpha.init

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

alpha

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

type

character

nfolds

number of cross-validation folds

trial

experimental argument (to be removed): Should exponents above 1 be used? Default: FALSE

Examples

# multi-task learning
n <- 100
p <- 50
q <- 3
family <- "gaussian"
x <- matrix(data=rnorm(n=n*p),nrow=n,ncol=p)
y <- matrix(data=rnorm(n*q),nrow=n,ncol=q)
object <- sparselink(x=x,y=y,family=family)
#> alpha.init=0.95, alpha=1, trial=FALSE, type=exp
#> mode: multi-target learning

# transfer learning
n <- c(100,50)
p <- 50
x <- lapply(X=n,function(x) matrix(data=stats::rnorm(n*p),nrow=x,ncol=p))
y <- lapply(X=n,function(x) stats::rnorm(x))
family <- "gaussian"
object <- sparselink(x=x,y=y,family=family)
#> alpha.init=0.95, alpha=1, trial=FALSE, type=exp
#> mode: transfer learning