What’s new#
See the latest revision: Version 0.4.0.
Each entry is tagged with one of the following categories:
Feature — new functionality
Fix — bug fixes
Doc — documentation, examples
API — API changes, deprecations
Maint — CI, testing, maintenance, dependencies
under development (0.4.1.dev)#
Version 0.4.0#
Highlights#
New importance methods and visualizatino: Shapley Additive Global Importance (SAGE), Leave-One-Covariate-In (LOCI), and Accumulated Local Effects (ALE).
Many feature improvements: refined current implementations, better unification of API.
Documentation improvement: fixed missing docs, docstrings, faulty ones.
Changes#
Maint Update version in doc’s dropdown menu to 0.3.1 (stable) and clean changelog (#637 by Joseph Paillard).
Fix Fix bug in the KO methods:
threshold_meshwas computed but not assigned to the variable (#643 by Bertrand Thirion amd Joseph Paillard).Maint Add badges and functional links to the changelog (#644 by Joseph Paillard).
Maint Remove extra term in variance of X-residuals (#649 by Joseph Paillard).
Doc Add documentation on how to contribute with issues, pull-requests, explanation of the CI process, and dev guidelines on class templates and folder architecture. (#653 by Marc Hulcelle).
Doc Add naming conventions for classes, files, and functions, as well as citation conventions (#647 and #648 by Marc Hulcelle).
Fix Fix typo in issue template (#659 by Joseph Paillard).
Doc Add an AGENTS.md file for AI agents, and AI disclosures to contribution guidelines (#655 by Marc Hulcelle).
Maint Add a maintenance-related issue template (#666 by Marc Hulcelle).
Maint Temporary fix for the CI upper-bounding scikit-learn to 1.9.0 (#669 by Joseph Paillard).
Fix Fix unnecessary copy operations of X when only a slice view is needed (#646 by Marc Hulcelle).
Maint Remove pinned poosh dependency (problem with somato dataset solved) (#670 by Joseph Paillard).
Maint Remove extra term in variance of X-residual (DOCRT). See [Reid et al., A Study of Error Variance Estimation in Lasso Regression 2016](https://arxiv.org/pdf/1311.5274) for reference. (#649 by Joseph Paillard).
Feature Add leave-one-covariate-in (LOCI) method (#679 by Marc Hulcelle).
Fix Fix deprecated n_alphas with sklearn LassoCV, as well as deprecated penalty for LogisticRegressionCV (#690 by Marc Hulcelle).
Maint Fix conditional sampling test by verifying that sampler produces diverse samples. (#692 by Joseph Paillard).
Feature Implement marginal SAGE (#674 by Joseph Paillard).
Feature Parallelize importance in EnCluDL (#710 by Marc Hulcelle).
Feature Implement generic ClusterImportance and EnsembleImportance (#714 by Marc Hulcelle).
Doc Fix shape inconsistencies in docstring for importance and selection arrays (#711 by Marc Hulcelle).
Doc Add documentation about test suite organization and general logic. (#712 by Marc Hulcelle).
API Column names are properly handled when a pandas DataFrame is given as input, grouping can be done on column names (#721 by Marc Hulcelle).
Doc Add section on SAGE in the user guide (#736 by Joseph Paillard).
Doc Missing classes from API autosummary (#734 by Marc Hulcelle).
Feature Implement Accumulated Local Effects (ALE) (#701 by Aurélien Bazire).
Feature Add bootstrap for ALE confidence intervals (#703 by Aurélien Bazire).
Fix Allowed unfitted estimators for CFI (estimator is then fitted before CFI) (#750 by Joseph Paillard).
Maint Fixed CI security issues by switching to ‘pull_request’ (#735 by Marc Hulcelle).
Doc Fixed math formatting in total sobol index section (#746 by Joseph Paillard).
Contributors:#
Version 0.3.1#
Highlights#
Expanded user guide with new sections on Desparsified Lasso, Knockoffs, Permutation Feature Importance, D0CRT, and high-dimensional inference
Improved scikit-learn compatibility for some estimators (DesparsifiedLasso, ModelXKnockoff, PFI, BasePerturbation)
Updated dependencies following SPEC 0
Changes#
Feature — can now be initialized with unfitted estimators. When this the case, the estimator will first be fitted before variable importance is estimated. (#571)
Doc — add Distilled Conditional Randomization Test (D0CRT) section in the user-guide (#621)
Doc — add example with MEG somato data (#607)
Doc — add Permutation Feature Importance section in user-guide (#553)
Doc — add Desparsified Lasso (DL) and Knockoffs section in user-guide (#558)
Doc — add DL example on the diabetes dataset (#564)
Fix — Fixed a bug in CLuster DL (CLuDL) / Ensemble CLuDL: cloning the internal estimators to avoid them carrying unwanted history. (#425)
Fix — Fix sign in D0CRT-logit (#627)
Fix — Test: relax flaky test for conditional sampling (#602)
Fix — Fix sklearn compatibility of
BasePerturbation(#576)Fix — Fix README pip installation instructions (#579)
Fix — Fix DL user-guide image not showing (#566)
Maint — Fixed a bug in CLuDL/EncluDL: cloning the internal estimators to avoid them carrying unwanted history. (#425)
Maint — Fix the unexpected change in the order of feature groups when a dataframe is used as input (#632)
Maint — Update pandas intersphinx mapping (#615)
Maint — scikit-learn compatibility: run check_estimator on Permutation Feature Importance (PFI) and PFICV (#610)
Maint — scikit-learn compatibility: run check_estimator on ModelXKnockoff (#608)
Maint — scikit-learn compatibility: improve
BasePerturbationCV(#581)Maint — scikit-learn compatibility: run check_estimator on DesparsifiedLasso (#590)
Maint — CI: update python version (#606)
Maint — Fix inconsistent attribute names in ModelXKnockoff (#600)
Maint — update pre-commit hooks (#597)
Maint — silence or solve unused arguments errors (#596)
Maint — Fix docstring in scenario.py (#594)
Maint — Test: set random generator as a test fixture (#593)
Maint — Fix pandas and perf errors (#592)
Maint — Fix ruff bugbear issues (#591)
Maint — Fix simplify ruff errors (#589)
Maint — Fix ruff linting errors (#582)
Maint — Adopt and apply ruff linter (#573)
Maint — Doc: silence some warnings (#588)
Maint — Doc: fix CI bug (#586)
Maint — Doc: fix notation inconsistencies (#552)
Maint — Run tests on oldest and most recent supported Python (#577)
Maint — Fix test timeout in minimal version tests (#569)
Maint — Skip unnecessary Ubuntu install in CI (#580)
Maint — Update pooch version constraint (#614)
Maint — Add missing entries to the changelog (#630)
Maint — Update dependencies following SPEC 0 (#527)
Contributors:#
Version 0.3.0#
Warning
Major change in the API, that settles for using .fit(), .importance(), .fdr_selection() and .fwer_selection()
Highlights#
New API
New User Guide
More examples