← Back to all sparks
C

cubist

ANALYTICS
Velocity0.0

R package cubist by topepo — release notes from GitHub.

The R port of Quinlan's Cubist gets reproducibility fixes, not new modelling

machine-learningrule-based-modelstidymodelsreproducibilityr-packagemaintenance
Current state
Cubist is the R interface to Quinlan's rule-based regression model, wrapping the original C sources behind an R API and feeding the tidymodels rules package. The 0.6.0 release adds a strip_time_stamps control that removes date, time and duration information from model output, and now errors rather than silently misbehaving when a date or date-time column is passed. Error reporting moves from base stop() and warning() to cli.
Where it's heading
The direction is custodial: this is a mature algorithm with a stable definition, so the work is making a decades-old C codebase behave predictably inside a modern R workflow. The reproducibility thread is the clearest one — embedded timestamps mean two identical models compare as different objects, which breaks caching, testing and any workflow that hashes results. Alongside it runs slow C hygiene, from keyword symbol overwrites in 0.5.0 to unused-variable warnings in 0.6.0.
Prediction
Expect continued small maintenance releases tracking CRAN compiler requirements and the needs of the rules package, with no change to the modelling algorithm itself.

Recent moves

  1. 5mo ago

    strip_time_stamps makes fitted models reproducible

    A new strip_time_stamps control removes embedded date, time and duration information so two fits of the same model compare as equal — the change that makes Cubist objects usable with caching and snapshot testing. Passing a date or date-time column now errors outright instead of producing questionable output, and messages move to cli.

    View source ↗
  2. 9mo ago

    Cubist 0.5.1

    A formatting fix for how rule values are displayed. Cosmetic against the model output, though rule readability is most of what users of a rule-based model look at.

    View source ↗
  3. 1y ago

    Cubist 0.5.0

    C code updated to stop overwriting keyword symbols — the kind of latent hazard in ported legacy sources that surfaces only when a compiler gets stricter. No user-visible change.

    View source ↗
  4. 2y ago

    Cubist 0.4.4

    Vignette fixes, including a switch from tidyrules::tidyRules() to rules::tidy(). Documentation catching up with where the tidymodels ecosystem put this functionality.

    View source ↗
  5. 4y ago

    Cubist 0.4.0

    Windows build configuration changes only. Representative of the long stretch where this package's releases existed to keep it compiling on CRAN's machines.

    View source ↗