64 lines
2.3 KiB
R
64 lines
2.3 KiB
R
% Generated by roxygen2: do not edit by hand
|
|
% Please edit documentation in R/callbacks.R
|
|
\name{cb.early.stop}
|
|
\alias{cb.early.stop}
|
|
\title{Callback closure to activate the early stopping.}
|
|
\usage{
|
|
cb.early.stop(stopping_rounds, maximize = FALSE, metric_name = NULL,
|
|
verbose = TRUE)
|
|
}
|
|
\arguments{
|
|
\item{stopping_rounds}{The number of rounds with no improvement in
|
|
the evaluation metric in order to stop the training.}
|
|
|
|
\item{maximize}{whether to maximize the evaluation metric}
|
|
|
|
\item{metric_name}{the name of an evaluation column to use as a criteria for early
|
|
stopping. If not set, the last column would be used.
|
|
Let's say the test data in \code{watchlist} was labelled as \code{dtest},
|
|
and one wants to use the AUC in test data for early stopping regardless of where
|
|
it is in the \code{watchlist}, then one of the following would need to be set:
|
|
\code{metric_name='dtest-auc'} or \code{metric_name='dtest_auc'}.
|
|
All dash '-' characters in metric names are considered equivalent to '_'.}
|
|
|
|
\item{verbose}{whether to print the early stopping information.}
|
|
}
|
|
\description{
|
|
Callback closure to activate the early stopping.
|
|
}
|
|
\details{
|
|
This callback function determines the condition for early stopping
|
|
by setting the \code{stop_condition = TRUE} flag in its calling frame.
|
|
|
|
The following additional fields are assigned to the model's R object:
|
|
\itemize{
|
|
\item \code{best_score} the evaluation score at the best iteration
|
|
\item \code{best_iteration} at which boosting iteration the best score has occurred (1-based index)
|
|
\item \code{best_ntreelimit} to use with the \code{ntreelimit} parameter in \code{predict}.
|
|
It differs from \code{best_iteration} in multiclass or random forest settings.
|
|
}
|
|
|
|
The Same values are also stored as xgb-attributes:
|
|
\itemize{
|
|
\item \code{best_iteration} is stored as a 0-based iteration index (for interoperability of binary models)
|
|
\item \code{best_msg} message string is also stored.
|
|
}
|
|
|
|
At least one data element is required in the evaluation watchlist for early stopping to work.
|
|
|
|
Callback function expects the following values to be set in its calling frame:
|
|
\code{stop_condition},
|
|
\code{bst_evaluation},
|
|
\code{rank},
|
|
\code{bst} (or \code{bst_folds} and \code{basket}),
|
|
\code{iteration},
|
|
\code{begin_iteration},
|
|
\code{end_iteration},
|
|
\code{num_parallel_tree}.
|
|
}
|
|
\seealso{
|
|
\code{\link{callbacks}},
|
|
\code{\link{xgb.attr}}
|
|
}
|
|
|