% Generated by roxygen2: do not edit by hand % Please edit documentation in R/xgb.dump.R \name{xgb.dump} \alias{xgb.dump} \title{Dump an xgboost model in text format.} \usage{ xgb.dump( model, fname = NULL, fmap = "", with_stats = FALSE, dump_format = c("text", "json", "dot"), ... ) } \arguments{ \item{model}{the model object.} \item{fname}{the name of the text file where to save the model text dump. If not provided or set to \code{NULL}, the model is returned as a \code{character} vector.} \item{fmap}{feature map file representing feature types. See demo/ for walkthrough example in R, and \url{https://github.com/dmlc/xgboost/blob/master/demo/data/featmap.txt} for example Format.} \item{with_stats}{whether to dump some additional statistics about the splits. When this option is on, the model dump contains two additional values: gain is the approximate loss function gain we get in each split; cover is the sum of second order gradient in each node.} \item{dump_format}{either 'text', 'json', or 'dot' (graphviz) format could be specified. Format 'dot' for a single tree can be passed directly to packages that consume this format for graph visualization, such as function \code{\link[DiagrammeR:grViz]{DiagrammeR::grViz()}}} \item{...}{currently not used} } \value{ If fname is not provided or set to \code{NULL} the function will return the model as a \code{character} vector. Otherwise it will return \code{TRUE}. } \description{ Dump an xgboost model in text format. } \examples{ \dontshow{RhpcBLASctl::omp_set_num_threads(1)} data(agaricus.train, package='xgboost') data(agaricus.test, package='xgboost') train <- agaricus.train test <- agaricus.test bst <- xgb.train(data = xgb.DMatrix(train$data, label = train$label), max_depth = 2, eta = 1, nthread = 2, nrounds = 2, objective = "binary:logistic") # save the model in file 'xgb.model.dump' dump_path = file.path(tempdir(), 'model.dump') xgb.dump(bst, dump_path, with_stats = TRUE) # print the model without saving it to a file print(xgb.dump(bst, with_stats = TRUE)) # print in JSON format: cat(xgb.dump(bst, with_stats = TRUE, dump_format='json')) # plot first tree leveraging the 'dot' format if (requireNamespace('DiagrammeR', quietly = TRUE)) { DiagrammeR::grViz(xgb.dump(bst, dump_format = "dot")[[1L]]) } }