[R] Support booster slicing. (#9948)
This commit is contained in:
@@ -2,12 +2,15 @@
|
||||
% Please edit documentation in R/xgb.Booster.R
|
||||
\name{xgb.get.num.boosted.rounds}
|
||||
\alias{xgb.get.num.boosted.rounds}
|
||||
\alias{length.xgb.Booster}
|
||||
\title{Get number of boosting in a fitted booster}
|
||||
\usage{
|
||||
xgb.get.num.boosted.rounds(model)
|
||||
|
||||
\method{length}{xgb.Booster}(x)
|
||||
}
|
||||
\arguments{
|
||||
\item{model}{A fitted \code{xgb.Booster} model.}
|
||||
\item{model, x}{A fitted \code{xgb.Booster} model.}
|
||||
}
|
||||
\value{
|
||||
The number of rounds saved in the model, as an integer.
|
||||
|
||||
57
R-package/man/xgb.slice.Booster.Rd
Normal file
57
R-package/man/xgb.slice.Booster.Rd
Normal file
@@ -0,0 +1,57 @@
|
||||
% Generated by roxygen2: do not edit by hand
|
||||
% Please edit documentation in R/xgb.Booster.R
|
||||
\name{xgb.slice.Booster}
|
||||
\alias{xgb.slice.Booster}
|
||||
\alias{[.xgb.Booster}
|
||||
\title{Slice Booster by Rounds}
|
||||
\usage{
|
||||
xgb.slice.Booster(
|
||||
model,
|
||||
start,
|
||||
end = xgb.get.num.boosted.rounds(model),
|
||||
step = 1L
|
||||
)
|
||||
|
||||
\method{[}{xgb.Booster}(x, i)
|
||||
}
|
||||
\arguments{
|
||||
\item{model, x}{A fitted \code{xgb.Booster} object, which is to be sliced by taking only a subset
|
||||
of its rounds / iterations.}
|
||||
|
||||
\item{start}{Start of the slice (base-1 and inclusive, like R's \link{seq}).}
|
||||
|
||||
\item{end}{End of the slice (base-1 and inclusive, like R's \link{seq}).
|
||||
|
||||
Passing a value of zero here is equivalent to passing the full number of rounds in the
|
||||
booster object.}
|
||||
|
||||
\item{step}{Step size of the slice. Passing '1' will take every round in the sequence defined by
|
||||
\verb{(start, end)}, while passing '2' will take every second value, and so on.}
|
||||
|
||||
\item{i}{The indices - must be an increasing sequence as generated by e.g. \code{seq(...)}.}
|
||||
}
|
||||
\value{
|
||||
A sliced booster object containing only the requested rounds.
|
||||
}
|
||||
\description{
|
||||
Creates a new booster including only a selected range of rounds / iterations
|
||||
from an existing booster, as given by the sequence \code{seq(start, end, step)}.
|
||||
}
|
||||
\details{
|
||||
Note that any R attributes that the booster might have, will not be copied into
|
||||
the resulting object.
|
||||
}
|
||||
\examples{
|
||||
data(mtcars)
|
||||
y <- mtcars$mpg
|
||||
x <- as.matrix(mtcars[, -1])
|
||||
dm <- xgb.DMatrix(x, label = y, nthread = 1)
|
||||
model <- xgb.train(data = dm, params = list(nthread = 1), nrounds = 5)
|
||||
model_slice <- xgb.slice.Booster(model, 1, 3)
|
||||
# Prediction for first three rounds
|
||||
predict(model, x, predleaf = TRUE)[, 1:3]
|
||||
|
||||
# The new model has only those rounds, so
|
||||
# a full prediction from it is equivalent
|
||||
predict(model_slice, x, predleaf = TRUE)
|
||||
}
|
||||
Reference in New Issue
Block a user