Supported models and backend selection#
This matrix describes the release dependency series: skgrad 0.1.5+, TreeIG 0.2.x, and CBaseline 0.1.2+. All three install with UnifiedIG. Frameworks in the last column are separate optional installations. All models must be fitted or otherwise ready for inference. Inputs must permit numeric interpolation.
Models / interface |
Backend and integration |
Explained output / limits |
Extra installation |
|---|---|---|---|
|
skgrad, exact affine |
Regression predictions, including supported multi-output estimators |
None |
|
skgrad, exact affine |
Binary decision margin; multiclass centered decision scores |
None |
|
skgrad, analytic derivatives and quadrature; linear kernels exact |
Built-in linear, polynomial, RBF, sigmoid kernels; no multiclass kernel SVM or precomputed/callable kernels |
None |
|
skgrad and quadrature |
Identity regression output; binary logits / centered multiclass logits; identity, logistic, tanh, ReLU hidden activations |
None |
sklearn |
skgrad chain rule; exact affine/polynomial shortcuts when applicable |
StandardScaler, RobustScaler, MaxAbsScaler, MinMaxScaler, PCA, PolynomialFeatures, supported fitted feature selectors, nested pipelines; no arbitrary transformer derivatives |
None |
|
TreeIG, exact split crossings |
Scalar regression prediction; numeric splits |
None |
|
TreeIG, exact split crossings |
Binary margin / centered multiclass margins |
None |
|
TreeIG, exact split crossings |
Supported numeric tree objectives; regression output or raw class margins; TreeIG parser restrictions apply |
xgboost |
|
TreeIG, exact split crossings |
Supported numeric tree objectives; regression output or raw class margins; TreeIG parser restrictions apply |
lightgbm |
|
TreeIG numerical event detector, explicit |
Prediction / raw class scores; approximate crossing detection |
catboost for CatBoost |
|
TreeIG numerical event detector, explicit |
Log odds / centered log probabilities of the aggregated model; explicit |
None |
|
Native PyTorch autograd and quadrature |
Scalar, raw class scores, or declared multi-output regression; one input tensor per sample |
torch |
|
Native JAX autodiff and quadrature |
Differentiable batched function; optional explicit parameters |
jax |
|
Native TensorFlow gradients and quadrature |
Differentiable model output |
tensorflow |
Keras 3 model |
Native configured TensorFlow / JAX / PyTorch backend |
Visible sigmoid/softmax classification heads rejected; return logits |
keras and its selected backend |
Other smooth sklearn regressors / decision-score classifiers |
Central finite differences and quadrature, explicit |
Requires predict / decision_function; no probability-only classifiers, multiclass pairwise SVM scores, or tree fallback |
Model’s own dependencies |
Specialized backends take precedence over an explicitly requested fallback. Unsupported models raise an error; fallback is never silently enabled. TreeIG support depends on objective, split type, and model configuration, not only the Python class. Native categorical inputs and arbitrary discontinuous callables are outside the supported interpolation contract.
For framework vectors, classification is the default: two scores become
score[1] - score[0], while three or more are centered across classes. Use
output_kind="regression" for multi-output regression. A scalar framework
output is explained as supplied; callers must supply a score rather than a
probability for classification. UnifiedIG cannot detect every probability
transformation hidden inside arbitrary user functions.
A baseline vector is one point; a matrix is a shared distribution, even when
its row count equals the input batch size. CBaseline objects supply rows and
weights directly. Completeness reconstructs the explained output from the
weighted mean baseline output plus summed attributions. Numerical completeness
does not guarantee accurate individual allocations; refine quadrature or tree
resolution when needed. See semantics for shapes and loss output
conventions, and feature spaces for attribute_after.