Release notes#
Unreleased#
Lead the README and documentation landing page with the Aumann-Shapley framing: one estimand across model families, contrasted with per-family dispatch, and a new “Discrete and continuous value theory” section.
Cite Aumann and Shapley (1974) and Sundararajan, Taly and Yan (2017) for the underlying value theory, the TreeIG paper for the distributional extension to piecewise-constant models, and the Canonical Integrated Gradients paper for the reference distribution.
Add a references and citation page with the stack papers, value-theory and Shapley bibliography, and BibTeX entries.
Remove the
treesextra and droptreeigfrom thecatboostandallextras. TreeIG is a core dependency, so those entries could never install anything and implied that tree support was optional.
0.1.6 — 2026-09-07#
Add
on_incomplete="warn"|"raise"to prediction and loss explainers, preserving warnings by default and allowing strict completeness enforcement.Document ReLU integration limits, explicit resolution budgets, and the distinction between completeness and feature-level accuracy.
Include Matplotlib in the
shapandallextras so SHAP plotting examples and documentation checks work in clean installations.Add a Sphinx/MyST documentation site with the shared PyData theme, full navigation, runnable examples, API reference, and GitHub Pages workflow.
Link the documentation prominently from the README and package metadata.
Standardize the license and package metadata to BSD-3-Clause.
Require Python 3.10+, CBaseline 0.1.2, skgrad 0.1.5, and TreeIG 0.2.0; bound the pre-1.0 backend dependencies to their tested minor series.
Put one-install setup before the CBaseline quick start; document backend dispatch, output conventions, and release prerequisites.
Test real CBaseline integration and cross-interface attribution invariants.
Gate PyPI publishing on a published GitHub release with a matching, non-development version; validate fresh wheel installation and sdist builds.
Add software citation metadata.
Add explicit
attribute_afterfeature-space selection to Explainer and LossExplainer, including nested pipeline steps, row-wise baseline transformation, transformed feature names, and Explanation metadata.Require skgrad 0.1.5 for pipeline feature-space views.
Add
LossExplainerfor squared-error and binary or multiclass log-loss attribution across analytic sklearn, exact TreeIG, PyTorch, JAX, TensorFlow/Keras, and opt-in finite-difference backends, with shared baseline, completeness-refinement, and optional loss-reduction sign presentation.Specialize affine loss quadrature to one exact node for squared error and an eight-node automatic starting point for binary log loss.
0.1.1.dev1#
Replace the Captum runtime route with native PyTorch autograd, preserving weighted baseline distributions, Gauss–Legendre IG, bounded batching, output semantics, completeness diagnostics, and model state restoration.
Add TensorFlow automatic-gradient attribution and direct TensorFlow-backed Keras model dispatch through the optional
tensorflowextra.Route Keras 3 models through their configured TensorFlow, JAX, or PyTorch backend, and reject visible sigmoid/softmax probability heads for classification attribution.
Add the explicit
TensorFlowModeladapter for arbitrary differentiable TensorFlow prediction functions.Add explicit multi-output regression semantics for vector-valued PyTorch, JAX, and TensorFlow models through
output_kind="regression".Harden explanation metadata validation, parameterless PyTorch input dtype handling, numerical diagnostics, and tagged-release verification.
Preserve scalar output labels without confusing SHAP’s output-axis slicing, including directly plottable multiclass score contrasts.
0.1.1.dev0#
Delegate analytic scikit-learn MLP values and input Jacobians to skgrad.
Recognize every smooth estimator supported by skgrad through one capability check, including Ridge, Lasso, ElasticNet, and RidgeClassifier.
Document the complete supported-model inventory and output scales.
Add an opt-in, batched finite-difference fallback for other smooth sklearn regressors and binary or multiclass decision-score classifiers.
Reject known discontinuous estimator families from the numerical fallback.
Support explicit weighted baseline distributions across every backend and consume CBaseline
Backgroundobjects directly through their publicrowsandweightsproperties.Attribute multiclass models as one centered, zero-sum decision-score vector across skgrad, TreeIG, PyTorch, and numerical backends.
Add
Explanation.contrast()for derived pairwise score-margin attribution.Add optional JAX automatic-gradient attribution through the explicit
JaxModeladapter, including parameter pytrees, closures, single-sample vectorization, weighted backgrounds, and centered multiclass scores.Add a JAX example, optional dependency extra, and dedicated CI job.
Add an explicit
fallback="tree_numeric"route for CatBoost and recognized piecewise-constant tree models through TreeIGNumeric, with weighted backgrounds, multiclass raw scores, configurable path grids, and CatBoost CI.Support probability-only decision-tree and forest classifiers through explicit binary-log-odds or centered-multiclass-log-score transformation, with no silent handling of zero probabilities.
Use TreeIG’s batched adaptive refinement for changed numerical-tree path intervals and expose
tree_max_refineas a convergence control.Expand the README with computation routes, model coverage, baseline guidance, SHAP plotting, numerical diagnostics, and JAX usage.
0.1.0#
Stabilize the
ExplainerandExplanationV1 API.Define baseline matrices as equally weighted distributions shared by every input.
Provide exact TreeIG, closed-form linear, analytic sklearn MLP, and optional PyTorch/Captum backends behind one dispatch interface.
Improve optional-dependency errors, package metadata, and installed type information.
0.1.0.dev3#
Add an optional exact tree-model backend powered entirely by TreeIG.
Treat baseline matrices as shared distributions for every model family.
Keep binary tree classification attribution on the raw decision-score scale.
0.1.0.dev2#
Add optional PyTorch support through Captum Integrated Gradients.
Preserve model device, floating-point dtype, and training/evaluation state.
Support tabular and structured single-tensor inputs with scalar outputs.
Keep PyTorch and Captum out of the core installation.
0.1.0.dev1#
Add completeness-error diagnostics and numerical-accuracy warnings.
Test every sklearn MLP hidden activation and per-sample baselines.
Verify compatibility with SHAP waterfall and beeswarm plots.
Add model-specific examples and an MLP gradient benchmark.
Harden releases with version-tag validation and installed-wheel checks.
0.1.0.dev0#
Establish the
ExplainerandExplanationpublic API.Add closed-form sklearn linear and binary logistic regression backends.
Add analytic-gradient sklearn MLP regression and binary classification.
Add optional conversion to
shap.Explanation.