Changelog
Changelog
[0.0.5] - 2026-04-28
Added
Multiple testing correction:
conf_int()andsummary()now support amultitest_methodparameter (mimickingstatsmodels) for controlling FDR/FWER. Adjusted p-values are returned aspvalue_adj.Unified Group Importance:
conf_int()now supports agroupsargument to compute group-level feature importance with uncertainty, replacing the separategroup_importance()logic (now deprecated).Accepts groups as a
dictof index lists, a 1-D label array, or a binarypandas.DataFrameindicator matrix (features may belong to multiple groups).Optional null-feature thresholding (
threshold_null=True) zeros out per-feature UEIFs with negative mean before aggregation.
Improved API Consistency: Renamed
phi_hattoscoreinconf_int()output for better clarity.Per-sample UEIFs (
ueifs_X,ueifs_Z) are now stored as instance attributes after callingOTExplainer,EOTExplainer, andFlowExplainer, enabling downstream group aggregation.
[0.0.4] - 2026-04-01
Added
Crossfitting: new cross-fitted DFI explainer for valid inference at small sample sizes. Wraps any explainer class (
OTExplainer,EOTExplainer,FlowExplainer) and performs K-fold cross-fitting so that the disentanglement map is never evaluated on its own training data.Flexible
cvparameter accepts anint(shorthand forKFold) or any scikit-learn splitter instance (StratifiedKFold,ShuffleSplit,RepeatedKFold,GroupKFold, custom, etc.).Optional
yandgroupsparameters for stratified and group-aware splitters.Overlapping test set handling: splitters like
ShuffleSplitandRepeatedKFoldthat assign samples to multiple test sets are handled by per-sample UEIF averaging.Ensemble prediction on new data:
cf(X_new)averages importance from all fold explainers.Crossfittinginheritsconf_int()andsummary()from the baseExplainerclass.Crossfittingexported fromfdfitop-level package.17 new tests covering init, OT/EOT/Flow cross-fitting, all splitter types, conf_int, summary, and ensemble prediction.