69 lines
2.3 KiB
R
69 lines
2.3 KiB
R
% 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]])
|
|
}
|
|
}
|