xgb.simple {glmnetr} | R Documentation |
Get a simple XGBoost model fit (no tuning)
Description
This fits a gradient boosting machine model using the XGBoost platform. If uses a single set of hyperparameters that have sometimes been reasonable so runs very fast. For a better fit one can use xgb.tuned() which searches for a set of hyperparameters using the mlrMBO package which will generally provide a better fit but take much longer. See xgb.tuned() for a description of the data format required for input.
Usage
xgb.simple(
train.xgb.dat,
booster = "gbtree",
objective = "survival:cox",
eval_metric = NULL,
minimize = NULL,
seed = NULL,
folds = NULL,
doxgb = NULL,
track = 2
)
Arguments
train.xgb.dat |
The data to be used for training the XGBoost model |
booster |
for now just "gbtree" (default) |
objective |
one of "survival:cox" (default), "binary:logistic" or "reg:squarederror" |
eval_metric |
one of "cox-nloglik" (default), "auc", "rmse" or NULL. Default of NULL will select an appropriate value based upon the objective value. |
minimize |
whether the eval_metric is to be minimized or maximized |
seed |
a seed for set.seed() to assure one can get the same results twice. If NULL the program will generate a random seed. Whether specified or NULL, the seed is stored in the output object for future reference. |
folds |
an optional list where each element is a vector of indexes for a test fold. Default is NULL. If specified then doxgb$nfold is ignored as in xgb.cv(). |
doxgb |
a list with parameters for passed to xgb.cv() including $nfold, $nrounds, and $early_stopping_rounds. If not provided defaults will be used. Defaults can be seen form the output object$doxgb element, again a list. In case not NULL, the seed and folds option values override the $seed and $folds values in doxgb. |
track |
0 (default) to not track progress, 2 to track progress. |
Value
a XGBoost model fit
Author(s)
Walter K Kremers with contributions from Nicholas B Larson
See Also
Examples
# Simulate some data for a Cox model
sim.data=glmnetr.simdata(nrows=1000, ncols=100, beta=NULL)
Surv.xgb = ifelse( sim.data$event==1, sim.data$yt, -sim.data$yt )
data.full <- xgboost::xgb.DMatrix(data = sim.data$xs, label = Surv.xgb)
# for this example we use a small number for folds_n and nrounds to shorten run time
xgbfit = xgb.simple( data.full, objective = "survival:cox")
preds = predict(xgbfit, sim.data$xs)
summary( preds )
preds[1:8]