[R-package] avoid unnecessary computation of std deviations in lgb.cv() #4360
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
lgb.cv()
in the R package performs k-fold cross-validation, and can optionally compute the standard deviation of evaluation metrics across all folds. This option is controlled by the argumentshowsd
(default TRUE).Today, even when
showsd = FALSE
, an internal function called bylgb.cv()
still calculates error standard deviations and thenlgb.cv()
just ignores them.LightGBM/R-package/R/lgb.cv.R
Lines 388 to 390 in 9143003
This PR proposes a fix that avoids this unnecessary work, which should slightly speed up
lgb.cv()
for users who are not interested in the standard deviation of error estimates. It also introduces a test confirming that the output format oflgb.cv()
changes based on the value of theshowsd
argument.