← Back to all sparks
B

bonsai

ANALYTICS
Velocity0.0

Parsnip model wrappers for tree-based models such as LightGBM and partykit

bonsai keeps widening tidymodels' boosted-tree engine bench, catboost most recently

tidymodelsgradient-boostingengineslightgbmcatboost
Current state
bonsai exists to attach non-core tree engines to parsnip's boost_tree() and rand_forest(), and the release history reads as a steady accumulation of them: partykit, aorsf, lightgbm, and now catboost. The 0.4.x line is spent making catboost behave like a full tidymodels citizen rather than adding anything new.
Where it's heading
Each engine follows the same arc — land it, then close the gaps that keep it from tuning cleanly (parameter naming, multi_predict, threading, case weights). Recent work is squarely in that second phase for catboost, with dials supplying the matching parameter objects on its own release schedule. Bug-fix density is high relative to new surface.
Prediction
Expect the catboost integration to keep filling in tuning and GPU-related arguments before any further engine is added; the entries give no signal about which engine would come next.

Recent moves

  1. 2mo ago

    catboost gains multi_predict() and corrected tuning parameters

    Closes the tuning gap left by the 0.4.0 catboost engine: multi_predict() makes trees tunable without refitting, and mtry, min_n, sample_size and stop_iter are wired to the right parsnip names. Follow-through work rather than new capability.

    View source ↗
  2. 1y ago

    catboost engine added to boost_tree()

    The headline addition of this window — catboost joins lightgbm and the partykit/aorsf engines behind boost_tree(). It arrives incomplete, which is what the 0.4.1 tuning fixes then address. Minimum R version moves to 4.1.

    View source ↗
  3. 1y ago

    lightgbm accepts sparse matrices for fit and predict

    Sparse input support removes a real constraint for wide categorical data through the lightgbm engine, alongside a test fix staged ahead of a parsnip release.

    View source ↗
  4. 2y ago

    aorsf fit failure in multisession workers fixed

    A single bug fix for aorsf models failing inside socket cluster workers. No user-facing change beyond the failure going away.

    View source ↗
  5. 2y ago

    aorsf engine added; lightgbm gains dataset params and case weights

    The same engine-then-fill-the-gaps pattern one cycle earlier: accelerated oblique random forests arrive, and lightgbm picks up Dataset parameters and case weights. Sets the template the catboost work later repeats.

    View source ↗
  6. 3y ago

    lightgbm num_leaves becomes tunable; alias arguments disallowed

    Coordinated with dials and parsnip to make num_leaves a tunable engine argument, and tightens the interface by rejecting main arguments supplied via lightgbm aliases. An early example of bonsai enforcing tidymodels conventions over the underlying library's.

    View source ↗