xgb.csv(printEveryN) parameter to print every n-th progress message
This commit is contained in:
parent
b8b0243d95
commit
a4341f22a2
@ -54,6 +54,7 @@
|
|||||||
#' @param folds \code{list} provides a possibility of using a list of pre-defined CV folds (each element must be a vector of fold's indices).
|
#' @param folds \code{list} provides a possibility of using a list of pre-defined CV folds (each element must be a vector of fold's indices).
|
||||||
#' If folds are supplied, the nfold and stratified parameters would be ignored.
|
#' If folds are supplied, the nfold and stratified parameters would be ignored.
|
||||||
#' @param verbose \code{boolean}, print the statistics during the process
|
#' @param verbose \code{boolean}, print the statistics during the process
|
||||||
|
#' @param printEveryN Print every N progress messages when \code{verbose>0}. Default is 1 which means all messages are printed.
|
||||||
#' @param early_stop_round If \code{NULL}, the early stopping function is not triggered.
|
#' @param early_stop_round If \code{NULL}, the early stopping function is not triggered.
|
||||||
#' If set to an integer \code{k}, training with a validation set will stop if the performance
|
#' If set to an integer \code{k}, training with a validation set will stop if the performance
|
||||||
#' keeps getting worse consecutively for \code{k} rounds.
|
#' keeps getting worse consecutively for \code{k} rounds.
|
||||||
@ -93,7 +94,7 @@
|
|||||||
#'
|
#'
|
||||||
xgb.cv <- function(params=list(), data, nrounds, nfold, label = NULL, missing = NULL,
|
xgb.cv <- function(params=list(), data, nrounds, nfold, label = NULL, missing = NULL,
|
||||||
prediction = FALSE, showsd = TRUE, metrics=list(),
|
prediction = FALSE, showsd = TRUE, metrics=list(),
|
||||||
obj = NULL, feval = NULL, stratified = TRUE, folds = NULL, verbose = T,
|
obj = NULL, feval = NULL, stratified = TRUE, folds = NULL, verbose = T, printEveryN=1L,
|
||||||
early_stop_round = NULL, early.stop.round = NULL, maximize = NULL, ...) {
|
early_stop_round = NULL, early.stop.round = NULL, maximize = NULL, ...) {
|
||||||
if (typeof(params) != "list") {
|
if (typeof(params) != "list") {
|
||||||
stop("xgb.cv: first argument params must be list")
|
stop("xgb.cv: first argument params must be list")
|
||||||
@ -161,6 +162,7 @@ xgb.cv <- function(params=list(), data, nrounds, nfold, label = NULL, missing =
|
|||||||
else
|
else
|
||||||
predictValues <- rep(0,xgb.numrow(dtrain))
|
predictValues <- rep(0,xgb.numrow(dtrain))
|
||||||
history <- c()
|
history <- c()
|
||||||
|
printEveryN = max(as.integer(printEveryN), 1L)
|
||||||
for (i in 1:nrounds) {
|
for (i in 1:nrounds) {
|
||||||
msg <- list()
|
msg <- list()
|
||||||
for (k in 1:nfold) {
|
for (k in 1:nfold) {
|
||||||
@ -185,7 +187,9 @@ xgb.cv <- function(params=list(), data, nrounds, nfold, label = NULL, missing =
|
|||||||
}
|
}
|
||||||
ret <- xgb.cv.aggcv(msg, showsd)
|
ret <- xgb.cv.aggcv(msg, showsd)
|
||||||
history <- c(history, ret)
|
history <- c(history, ret)
|
||||||
if(verbose) paste(ret, "\n", sep="") %>% cat
|
if(verbose)
|
||||||
|
if (0==(i-1L)%%printEveryN)
|
||||||
|
cat(ret, "\n", sep="")
|
||||||
|
|
||||||
# early_Stopping
|
# early_Stopping
|
||||||
if (!is.null(early_stop_round)){
|
if (!is.null(early_stop_round)){
|
||||||
|
|||||||
@ -7,7 +7,7 @@
|
|||||||
xgb.cv(params = list(), data, nrounds, nfold, label = NULL,
|
xgb.cv(params = list(), data, nrounds, nfold, label = NULL,
|
||||||
missing = NULL, prediction = FALSE, showsd = TRUE, metrics = list(),
|
missing = NULL, prediction = FALSE, showsd = TRUE, metrics = list(),
|
||||||
obj = NULL, feval = NULL, stratified = TRUE, folds = NULL,
|
obj = NULL, feval = NULL, stratified = TRUE, folds = NULL,
|
||||||
verbose = T, early_stop_round = NULL, early.stop.round = NULL,
|
verbose = T, printEveryN=1L, early_stop_round = NULL, early.stop.round = NULL,
|
||||||
maximize = NULL, ...)
|
maximize = NULL, ...)
|
||||||
}
|
}
|
||||||
\arguments{
|
\arguments{
|
||||||
@ -66,6 +66,8 @@ If folds are supplied, the nfold and stratified parameters would be ignored.}
|
|||||||
|
|
||||||
\item{verbose}{\code{boolean}, print the statistics during the process}
|
\item{verbose}{\code{boolean}, print the statistics during the process}
|
||||||
|
|
||||||
|
\item{printEveryN}{Print every N progress messages when \code{verbose>0}. Default is 1 which means all messages are printed.}
|
||||||
|
|
||||||
\item{early_stop_round}{If \code{NULL}, the early stopping function is not triggered.
|
\item{early_stop_round}{If \code{NULL}, the early stopping function is not triggered.
|
||||||
If set to an integer \code{k}, training with a validation set will stop if the performance
|
If set to an integer \code{k}, training with a validation set will stop if the performance
|
||||||
keeps getting worse consecutively for \code{k} rounds.}
|
keeps getting worse consecutively for \code{k} rounds.}
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user