boostmtree 2.0.0
This is a major maintenance and interface-cleanup release prepared
for CRAN resubmission. The release focuses on code correctness,
documentation, naming consistency, and more predictable behavior for
core fitting, prediction, and visualization workflows.
Major changes
- Refactored the package around a modular source layout while
preserving the core
ntree = 1 tree-based boosting
path.
- Standardized the public interface to lower-case, dotted naming
conventions.
- Families are now specified as
"continuous",
"binary", "nominal", and
"ordinal".
- Returned object components now use the same naming convention.
- Added
boostmtree.control() as the primary user-facing
control interface for resampling, reproducibility, and other fitting
options.
- Clarified first-pass scope: the current refactor supports
control$ntree = 1.
Fitting and model-object
updates
- Reworked preprocessing so that subject-level covariates,
identifiers, times, and responses remain aligned throughout
fitting.
- Improved handling of non-continuous responses, including binary,
nominal, and ordinal encoding.
- Improved support for univariate fits when
tm and
id are omitted.
- Restored the original tree-fitting logic more faithfully in key
places while keeping the refactored package structure.
- Simplified and regularized the structure of returned objects.
- Internal code keeps the boosted-subproblem (
q)
representation.
- Public objects flatten single-response results consistently for
continuous and binary fits.
- Removed legacy object components and hidden option paths that were
no longer needed in the first-pass redesign.
Resampling, OOB, and
cross-validation
- Cleaned up the interaction between bootstrap sampling, OOB
availability, cross-validation, and variable importance.
seed now controls reproducibility only.
- Removed the silent legacy rewrite of
bootstrap = "none"
into a full in-bag user bootstrap.
- When
cv.flag = TRUE, the fit now enforces an
OOB-producing resampling rule and records OOB availability in the fitted
object.
- Added explicit fitted-object fields documenting OOB behavior,
including
oob.available and
oob.subject.count.
Prediction, printing, and
plotting
- Updated
predict.boostmtree() to match the refactored
object structure and naming conventions.
- Improved prediction handling for:
- held-out longitudinal test data,
- new subjects evaluated on the fitted training time grid,
- user-supplied common time grids via partial prediction.
- Updated
print.boostmtree() so grow and predict objects
are summarized correctly and consistently.
- Updated
plot.boostmtree() so plotting now goes to the
active graphics device by default.
- PDF output is still available when explicitly requested.
- Plotting data can also be returned for user-directed graphics
workflows.
Variable importance and
effect plots
- Redesigned variable-importance output around a classed
vimp.boostmtree object.
- Replaced the old
vimpPlot() workflow with
plot() methods for variable-importance objects.
- Added clearer checks for grow-object variable importance when OOB
information is unavailable.
- Reworked partial and marginal effect plotting around canonical
function names:
partial.plot() /
partial.plot.boostmtree()
marginal.plot() /
marginal.plot.boostmtree()
- Updated effect-plot functions to use the active graphics device by
default instead of creating PDF files automatically.
- Added response-label selection for partial and marginal plots in
multi-level response settings.
Documentation
- Rewrote the main
boostmtree help page in a more
user-facing style.
- Expanded examples to cover:
- continuous longitudinal fits,
- binary fits,
- univariate fits,
- held-out prediction,
- AF-data illustration,
- variable importance,
- partial and marginal plots.
- Improved documentation for
print, plot,
predict, variable importance, and effect-plot methods.
- Clarified the interpretation of
phi, rho,
lambda, mod.grad, and prediction outputs such
as mu and muhat.
- Updated package references to include later methodological and
application papers:
- Pande A., Ishwaran H., Blackstone E.H., Rajeswaran J., and Gillinov
M. (2022). Application of gradient boosting in evaluating surgical
ablation for atrial fibrillation. SN Computer Science,
3:466.
- Pande A., Ishwaran H., and Blackstone E.H. (2022). Boosting for
multivariate longitudinal responses. SN Computer Science,
3:186.
Backward-incompatible
changes
- The package now uses canonical lower-case, dotted names throughout
the public interface.
- Returned object components were renamed to match the new naming
convention.
- Legacy mixed-case and underscore-style argument names are no longer
supported in the first-pass refactor.
- Legacy plotting helpers such as
vimpPlot(),
partialPlot(), and marginalPlot() were
replaced by classed objects and plot() methods or
lower-case dotted interfaces.
- Automatic PDF creation is no longer the default plotting
behavior.
Internal cleanup and bug
fixes
- Removed conflicting and duplicated legacy helper code from
utilities.R.
- Fixed multiple issues uncovered during example-driven testing,
including bugs affecting:
- univariate fits,
- longitudinal prediction,
- predict-object printing,
- grow/predict consistency for
mu, muhat,
and related fields,
- partial-plot indexing,
- compatibility between stored
gamma representations used
during prediction.
- Removed legacy components no longer needed for the first-pass
package design, including
forest.tol.
boostmtree 1.0.0