MEml: Calls the MEml models: MEgbm, MEgbmrules, MErfrules,...

Description Usage Arguments Details Value Author(s) References Examples

Description

Calls the MEml models: MEgbm, MEgbmrules, MErfrules, MEglmtree, MECTree, etc. The training and test data can be split into lagged training and testing as described in [1]

Usage

1
2
3
4
5
6
7
MEml.lag(lag = NULL, classifier, dat, id, rhs.vars, resp.vars,
  order.vars, rand.vars = NULL, reg.vars = NULL, part.vars = NULL,
  para, max.iter = 10, seed = 1, return.model = TRUE)

MEml(classifier, dat.trn, dat.tst, id, rhs.vars, resp.vars,
  rand.vars = NULL, reg.vars = NULL, part.vars = NULL, para,
  max.iter = 10, seed = 1, return.model = FALSE, ...)

Arguments

lag

time lag between predictors and outcome: e.g if lag = 1, then we use predictors in current vist to predict outcome in the next visit.

classifier

character or character vector with names of classification models. See names(TrainAllModels()).

dat

data frame with predictors and outcome

id

character name of the column containing the group identifier

rhs.vars

caracter vector of predictors

order.vars

order variables (usually time variable)

rand.vars

random effect variables

reg.vars

reg.vars regressors for MOB

part.vars

partitioning variables for MOB and predictors

para

named list of gbm training parameters

max.iter

maximum number of iterations

return.model

should the train model be return. Otherwise the return values is only the performance metrics

Details

  1. MEml.lag Takes the full data set and calls LongiLagSplit to split data into lagged training and testing. MEml.lag also trains the MOB and CTree models (see [1]).

  2. MEml is the same as MEml.lag, except that you pass in the training and test set. So you can call LongiLagSlit and pass the derived training and test sets to MEml2.

Value

The train MEml model and performance matrics (as data frame) if return.model = TRUE

Author(s)

Che Ngufor <Ngufor.Che@mayo.edu>

References

Che Ngufor, Holly Van Houten, Brian S. Caffo , Nilay D. Shah, Rozalina G. McCoy Mixed Effect Machine Learning: a framework for predicting longitudinal change in hemoglobin A1c, in Journal of Biomedical Informatics, 2018 #

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
## Not run: 
# parameter list 
para <- list(
method = "cv", # internal cross-validation method for parameter tuning. See caret package 
tuneLength=3, # grid size for parameter search 
number = 3, # number of internal cross-validation 
n.trees=100, # number of trees in gbm 
ntree = 50, # number of trees in random forest 
mtry = 5, # mtry in random forest 
interaction.depth=4,
shrinkage=0.01,
n.minobsinnode=10,
opt.para= TRUE, # perform parameter tuning through internal cross-validation 
coefReg = 0.5, 
coefImp=1, 
include.RE = FALSE,
con.tree = FALSE, 
max.iter = 10, alpha=0.05, minsize=20,maxdepth=30,  
K = 3, decay = 0.05, tol= 1e-5,
seed = 1 # random seed 
 )
data(heart.valve)
dat <- heart.valve
dat$id <- as.numeric(dat$id)  ## random effect grouping variable
resp.vars <- "inc.lvmi"
id <- "id"
## fixed effect variables 
rhs.vars <- c("sex", "age", "time", "fuyrs", "grad", "log.grad", "bsa", "lvh", "prenyha", 
              "redo", "size", "con.cabg", "creat", "dm", "acei", "lv", "emergenc", 
              "hc", "sten.reg.mix", "hs")
order.vars = "time"
rand.vars= "time"  ## random effect variables 
### split data into lagged training and testing 
### predict two time points in advanced 
dd <- LongiLagSplit(dat=dat, id=id, rhs.vars=rhs.vars,resp.vars=resp.vars,
                   order.vars=order.vars,lag= 2)  
train <- dd$train
test <- dd$test
res <- MEml(classifier="GBM", dat.trn = train, dat.tst=test, id=id, 
            rhs.vars=dd$rhs.vars, resp.vars=dd$resp.vars,
            rand.vars=rand.vars, para=para, max.iter = 10, seed = 1, 
            return.model = FALSE)
res$GBM

## End(Not run)

nguforche/Vira documentation built on June 2, 2019, 9:08 p.m.