Decomposing Global Feature Effects Based on Feature Interactions
Overview
Implements the GADGET (Generalized Additive Decomposition of Global EffecTs) algorithm for interpretable machine learning. The package recursively partitions the feature space to minimize heterogeneity of feature effects (e.g., Accumulated Local Effects or Partial Dependence), producing a tree of regions where effects are more stable. It supports both ALE and PD strategies, works with 'mlr3' learners and provides visualization of the interaction tree and regional effect plots. The method is described in Herbinger, J., Wright, M. N., Nagler, T., Bischl, B., and Casalicchio, G. (2024), "Decomposing Global Feature Effects Based on Feature Interactions" https://jmlr.org/papers/volume25/23-0699/23-0699.pdf.
- Added the introductory vignette
vignette("xplaineff")with PD and ALE examples on synthetic and bike-sharing data (no issue). GadgetTree$new()now rejectsn_quantiles < 1up front (no issue).- The PD split search no longer writes NaN replacements back into the caller's effect matrices and copies coerced non-double inputs, and it excludes observations with a missing split-feature value from both children and from the parent totals, matching
Node$create_children()(no issue). - The ALE split sweep skips observations without a valid interval index instead of computing an out-of-range position (no issue).
- Regional PD plots now place observation points of categorical features on the plotted levels, also in child nodes that lack some levels (no issue).
- Roxygen markdown is enabled and
GadgetTreeis no longer marked as an internal help topic (no issue). AleStrategy$fit()now reports a clear error whenmodelis missing, andGadgetTree$plot()for ALE trees errors on unknown arguments instead of ignoring them (no issue).- Regional PD plots no longer add an invisible observation layer when
show_point = FALSE(no issue). - Removed unused internal helpers and imports; the ALE split sweep skips non-finite local effects instead of letting them poison the running sums (no issue).
From NEWS.md in the release
Install
Health
- OK13 OKNow
- OK5 OK2026-09-15
Documentation
- Help pages
- 57 (53 internal)includes a package overview page
- Examples that run
- 100%3 run in a plain check
- Exported functions with examples
- 100%
- Documented parameters
- not tracked
- Return-value docs
- 0%
- Help pages citing references
- 2%
Downloads
Repository
- PRs merged (all time)
- 100%
- Median days to close, 50 most recently updated closed issues
- 2
- Median days to close, 50 most recently updated closed PRs
- 5
PRs over time
Commits over time
Commit identities over time
13 development-tooling and community-health practices detected across 6 families in the upstream repository
Checks run against github.com/mlr-org/xplaineff on 2026-10-22.
The R CMD check workflow runs on Linux, macOS and Windows, and on R-devel
Funding links: GitHub Sponsors
The repository owner accepts GitHub Sponsors
Show all practicesHide 2 practices
This repository shows signs of AI coding tools.
- Cursorfirst seen 2026-02-17Named in .Rbuildignore: .cursorCommits: at least 7 crediting it in the message
- Claude Codefirst seen 2026-03-13Seen in the repository: .claudeNamed in .Rbuildignore: .claude, CLAUDE.mdNamed in .gitignore: .claude, CLAUDE.mdCommits: at least 22 crediting it in the message
- Claude Fable 5.118 commits · Sep to Oct 2026
- Claude Sonnet 4.64 commits · May 2026
Dependencies
Installing xplaineff adds 53 packages (35 with compiled code, 58 MB of source tarballs). Heaviest: stringi 11 MB, ggplot2 6.0 MB, data.table 5.7 MB.
Code & Tests
People & History
Pick two releases to compare their code metrics.
- 0.1.1Latest
- 0.1.0first seen 2026-09-14
- RR 4.6.0 released · 2026-04-24
Package metadata
- First seen
- 2026-09-14
- Total releases
- 2 / 1 yrs
- License
- MIT + file LICENSE OSI
- Minimum R
- ≥ 4.3.0
- Download size
- 1.3 MB
Cite
Cite this package
Run in R for the authors' preferred citation:
citation("xplaineff")This package has no citation file, so citation() returns this entry built from DESCRIPTION.
Cite the R Observatory
For a number measured here: a download total, a coverage figure, an archival date.
From data release v2026-10-25, which the citation names so these numbers can be found later. More on citing and the projects behind them.