Changelog
Source:NEWS.md
gbm 2.3.0
Bug fixes
Fixed predictions from models with categorical (factor) splits on platforms where plain
charis unsigned (notably Linux on ARM64/aarch64). The categorical split-direction codes were stored incharand the value-1became255, silently routing all left-branch observations to the missing branch inpredict()andplot(). Model training was unaffected; only predictions from the stored model object were wrong, and only on affected platforms.Fixed the out-of-bag improvement estimate for
distribution = "coxph", which ignored the current model fit; this corruptedgbm.perf(method = "OOB")for Cox models.Fixed offset handling in several places: offsets are now correctly reordered alongside the data for
distribution = "pairwise";distribution = "huberized"now includes the offset in its terminal-node estimates;distribution = "poisson"now applies its prediction clamp when an offset is supplied; and supplying a real offset vector no longer errors ingbm.fit()andgbm.more()for Cox models.permutation.test.gbm()now works for all distributions, not just"pairwise".Fixed a potential stack overflow in
plot.gbm()for very deep trees.Fixed
distribution = "quantile"to handle observation weights.Fixed Poisson terminal-node predictions when a node’s denominator is zero.
Other improvements
distribution = "adaboost"now uses the negative gradient as its working response, consistent with the other distributions; among other things this makesvar.monotoneconstraints act in the intended direction for AdaBoost models.Improved cross-validation handling and vignette corrections (Cox model formulas, normalized discounted cumulative gain formula, and formulas added for the t-distribution, huberized hinge loss, and multinomial deviance).
gbm 2.1.9
CRAN release: 2024-01-10
Maintenance update to address new R standards
Fixed
gbm.more()for multinomial models, corrected multinomial training and validation error reporting, and removed the warning fromgbm(distribution = "multinomial").
gbm 2.1.8
CRAN release: 2020-07-15
- Removed experimental functions
shrink.gbm()andshrink.gbm.pred(); the latter seemed broken anyway. Happy to accept a PR if anyone wants to fix them.
gbm 2.1.6
Corrected the number of arguments for
gbm_shrink_gradient()ingbm-init.c(#50). (Thanks to CRAN for highlighting the issue.)Removed unnecessary dependency on gridExtra.
Switched to using
lapply()instead ofparallel::parLapply()whenevern.cores = 1.Calling
gbm()withdistribution = "bernoulli"will now throw an error whenever the response is non-numeric (e.g., 0/1 factors will throw an error instead of possibly crashing the session.) (#6). (Thanks to @mzoll.)Multinomial support remains available for backwards compatibility.
Switched from RUnit to tinytest framework. The
test.gbm(),test.relative.influence(), andvalidate.gbm()functions will remain for backwards compatability. This is just the start, as more tests will be added in the future (#51).
Bug fixes
Fixed a long standing bug that could occur when using k-fold cross-validation with a response that’s been transformed in the model formula (#30).
Fixed a but that would crash the session when giving “bad” input for
n.treesin the call topredict.gbm()(#45). (Thanks to @ngreifer.)Fixed a bug where calling
predict()could throw an error in some cases whenn.treeswas not specified.
gbm 2.1.5
CRAN release: 2019-01-14
Fixed bug that occurred whenever
distributionwas a list (e.g., “pairwise” regression) (#27).Fixed a bug that occurred when making predictions on new data with different factor levels (#28).
Fixed a bug that caused
relative.influence()to give different values whenevern.treeswas/wasn’t given for multinomial distributions (#31).The
plot.itargument ofgbm.perf()is no longer ignored (#34).Fixed an error that occurred in
gbm.perf()wheneveroobag.curve = FALSEandoverlay = FALSE.
gbm 2.1.4
CRAN release: 2018-09-14
Switched from
CHANGEStoNEWSfile.Updated links and maintainer field in
DESCRIPTIONfile.Fixed bug with axis labels in the
plot()method for"gbm"objects (#17).The
plot()method for"gbm"objects is now more consistent and always returns a"trellis"object (#19). Consequently, setting graphical parameters viaparwill no longer have an effect on the output fromplot.gbm().The
plot()method for"gbm"objects gained five new arguments:level.plot,contour,number,overlap, andcol.regions; see?plot.gbmfor details.The default color palette for false color level plots in
plot.gbm()has changed to the Matplotlib ‘viridis’ color map.Fixed a number of references and URLs.